#22518 Added the search facility

This commit is contained in:
Francesco Mangiacrapa 2021-12-10 16:19:33 +01:00
parent 5daa568c44
commit 0e97a234ce
8 changed files with 213 additions and 41 deletions

View File

@ -31,6 +31,8 @@ import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEven
import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.QueryDataEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEventHandler; import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEventHandler;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowPopupOnCentroiEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowPopupOnCentroiEventHandler;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ZoomOutOverMinimumEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.ZoomOutOverMinimumEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ZoomOutOverMinimumEventHandler; import org.gcube.portlets.user.geoportaldataviewer.client.events.ZoomOutOverMinimumEventHandler;
import org.gcube.portlets.user.geoportaldataviewer.client.gis.ExtentWrapped; import org.gcube.portlets.user.geoportaldataviewer.client.gis.ExtentWrapped;
@ -139,6 +141,7 @@ public class GeoportalDataViewer implements EntryPoint {
@Override @Override
public void onSuccess(List<ItemField> result) { public void onSuccess(List<ItemField> result) {
GWT.log("Loaded item fields: "+result);
for (ItemField itemField : result) { for (ItemField itemField : result) {
if(itemField.isDisplayIntoTable()) { if(itemField.isDisplayIntoTable()) {
@ -160,7 +163,7 @@ public class GeoportalDataViewer implements EntryPoint {
initialSortFilter.setOrder(ORDER.ASC); initialSortFilter.setOrder(ORDER.ASC);
initialSortFilter.setOrderByFields(Arrays.asList(new ItemField("Name", Arrays.asList("name"), true, true, true))); initialSortFilter.setOrderByFields(Arrays.asList(new ItemField("Name", Arrays.asList("name"), true, true, true)));
mainPanel = new GeonaDataViewMainPanel(applicationBus, getClientHeight(),searchByFields,sortByFields,initialSortFilter); mainPanel = new GeonaDataViewMainPanel(applicationBus, getClientHeight(),sortByFields,searchByFields,initialSortFilter);
RootPanel.get(APP_DIV).add(mainPanel); RootPanel.get(APP_DIV).add(mainPanel);
initApplication(); initApplication();
@ -256,7 +259,7 @@ public class GeoportalDataViewer implements EntryPoint {
geonaDataViewerProfile = profile; geonaDataViewerProfile = profile;
GWT.log("Profile: " + geonaDataViewerProfile); GWT.log("Profile: " + geonaDataViewerProfile);
Iterator<String> it; Iterator<String> it;
String theItemType = paramGeonaItemType; String theItemType = paramGeonaItemType.toLowerCase();
if (theItemType == null) { if (theItemType == null) {
it = geonaDataViewerProfile.getMapLayers().keySet().iterator(); it = geonaDataViewerProfile.getMapLayers().keySet().iterator();
it.hasNext(); it.hasNext();
@ -381,7 +384,7 @@ public class GeoportalDataViewer implements EntryPoint {
public void run() { public void run() {
attempt++; attempt++;
GWT.log("waiting get record: " + attempt); GWT.log("waiting get record: " + attempt);
RecordDV record = mainPanel.getDisplyedRecord(); RecordDV record = mainPanel.getDisplayedRecord();
if (record != null) { if (record != null) {
this.cancel(); this.cancel();
GWT.log("cancelled timer"); GWT.log("cancelled timer");
@ -427,7 +430,7 @@ public class GeoportalDataViewer implements EntryPoint {
@Override @Override
public void onZoomOut(ZoomOutOverMinimumEvent zoomOutEvent) { public void onZoomOut(ZoomOutOverMinimumEvent zoomOutEvent) {
if (mainPanel.getDisplyedRecord() == null && !olMapMng.isQueryPointActive()) { if (mainPanel.getDisplayedRecord() == null && !olMapMng.isQueryPointActive()) {
olMapMng.hidePopInfo(); olMapMng.hidePopInfo();
layerManager.removeAllDetailLayers(); layerManager.removeAllDetailLayers();
@ -518,6 +521,17 @@ public class GeoportalDataViewer implements EntryPoint {
} }
}); });
applicationBus.addHandler(ShowPopupOnCentroiEvent.TYPE, new ShowPopupOnCentroiEventHandler() {
@Override
public void onShowPopup(ShowPopupOnCentroiEvent showPopupOnCentroiEvent) {
if(showPopupOnCentroiEvent.getRecord()!=null)
performWFSQueryOnCentroid(showPopupOnCentroiEvent.getRecord());
}
});
} }

View File

@ -0,0 +1,61 @@
package org.gcube.portlets.user.geoportaldataviewer.client.events;
import org.gcube.application.geoportalcommon.shared.products.model.RecordDV;
import com.google.gwt.event.shared.GwtEvent;
/**
* The Class ShowDetailsEvent.
*
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
*
* Jul 30, 2021
*/
public class ShowPopupOnCentroiEvent extends GwtEvent<ShowPopupOnCentroiEventHandler> {
public static Type<ShowPopupOnCentroiEventHandler> TYPE = new Type<ShowPopupOnCentroiEventHandler>();
private RecordDV record;
/**
* Instantiates a new show details event.
*
* @param geonaItemType the geona item type
* @param geonaMongoID the geona mongo ID
* @param itemName the item name
* @param featureRow the feature row
*/
public ShowPopupOnCentroiEvent(RecordDV record) {
this.record = record;
}
/**
* Gets the associated type.
*
* @return the associated type
*/
@Override
public Type<ShowPopupOnCentroiEventHandler> getAssociatedType() {
return TYPE;
}
/**
* Dispatch.
*
* @param handler the handler
*/
@Override
protected void dispatch(ShowPopupOnCentroiEventHandler handler) {
handler.onShowPopup(this);
}
public RecordDV getRecord() {
return record;
}
}

View File

@ -0,0 +1,21 @@
package org.gcube.portlets.user.geoportaldataviewer.client.events;
import com.google.gwt.event.shared.EventHandler;
/**
* The Interface ShowPopupOnCentroiEventHandler.
*
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
*
* Dec 10, 2021
*/
public interface ShowPopupOnCentroiEventHandler extends EventHandler {
/**
* On show popup.
*
* @param showPopupOnCentroiEvent the show popup on centroi event
*/
void onShowPopup(ShowPopupOnCentroiEvent showPopupOnCentroiEvent);
}

View File

@ -23,6 +23,8 @@ import com.github.gwtbootstrap.client.ui.NavLink;
import com.github.gwtbootstrap.client.ui.Paragraph; import com.github.gwtbootstrap.client.ui.Paragraph;
import com.github.gwtbootstrap.client.ui.constants.IconType; import com.github.gwtbootstrap.client.ui.constants.IconType;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.ClickHandler;
@ -154,7 +156,18 @@ public class GeonaDataViewMainPanel extends Composite {
linkLayers.setCustomIconStyle(GNAIcons.CustomIconType.LAYERS.get()); linkLayers.setCustomIconStyle(GNAIcons.CustomIconType.LAYERS.get());
searchFacility = new SearchFacilityUI(applicationBus, sortByFields, searchForFields, initialSortFilter); searchFacility = new SearchFacilityUI(applicationBus, sortByFields, searchForFields, initialSortFilter);
searchFacilityButton.setIcon(IconType.SEARCH);
searchFacilityPanel.add(searchFacility); searchFacilityPanel.add(searchFacility);
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
searchFacilityPanel.getElement().getParentElement().getStyle().setOpacity(0.9);
}
});
// layersDDB.setToggle(true); // layersDDB.setToggle(true);
bindEvents(); bindEvents();
@ -318,7 +331,7 @@ public class GeonaDataViewMainPanel extends Composite {
* *
* @return the displyed record * @return the displyed record
*/ */
public RecordDV getDisplyedRecord() { public RecordDV getDisplayedRecord() {
return detailsPanel.getDisplayedRecord(); return detailsPanel.getDisplayedRecord();
} }

View File

@ -35,6 +35,11 @@
</g:HTMLPanel> </g:HTMLPanel>
</g:HTMLPanel> </g:HTMLPanel>
</b:DropdownButton> </b:DropdownButton>
<b:DropdownButton type="LINK" text="Search"
ui:field="searchFacilityButton">
<g:ScrollPanel ui:field="searchFacilityPanel"
addStyleNames="search-facility"></g:ScrollPanel>
</b:DropdownButton>
<b:DropdownButton type="LINK" <b:DropdownButton type="LINK"
title="Select the Map" text="Map" ui:field="linkMap"> title="Select the Map" text="Map" ui:field="linkMap">
<g:HTMLPanel ui:field="panelBaseLayers"> <g:HTMLPanel ui:field="panelBaseLayers">
@ -52,10 +57,6 @@
text="World" title="Center to World"></b:Button> text="World" title="Center to World"></b:Button>
</b:Nav> </b:Nav>
</b:DropdownButton> </b:DropdownButton>
<b:DropdownButton type="LINK" text="Search"
ui:field="searchFacilityButton">
<g:ScrollPanel ui:field="searchFacilityPanel" addStyleNames="search-facility"></g:ScrollPanel>
</b:DropdownButton>
<b:DropdownButton type="LINK" text="Query" <b:DropdownButton type="LINK" text="Query"
visible="false"> visible="false">
<!-- <b:ButtonGroup toggle="checkbox" ui:field="buttonGroup"> --> <!-- <b:ButtonGroup toggle="checkbox" ui:field="buttonGroup"> -->

View File

@ -1,25 +1,32 @@
package org.gcube.portlets.user.geoportaldataviewer.client.ui; package org.gcube.portlets.user.geoportaldataviewer.client.ui;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.gcube.application.geoportalcommon.shared.GeoNaItemRef;
import org.gcube.application.geoportalcommon.shared.ItemField; import org.gcube.application.geoportalcommon.shared.ItemField;
import org.gcube.application.geoportalcommon.shared.ResultSetPaginatedData; import org.gcube.application.geoportalcommon.shared.ResultSetPaginatedData;
import org.gcube.application.geoportalcommon.shared.SearchingFilter; import org.gcube.application.geoportalcommon.shared.SearchingFilter;
import org.gcube.application.geoportalcommon.shared.SearchingFilter.ORDER; import org.gcube.application.geoportalcommon.shared.SearchingFilter.ORDER;
import org.gcube.application.geoportalcommon.shared.products.ConcessioneDV; import org.gcube.application.geoportalcommon.shared.products.ConcessioneDV;
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.RECORD_TYPE; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants;
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerServiceAsync; import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerServiceAsync;
import org.gcube.portlets.user.geoportaldataviewer.client.events.GetListOfRecordsEvent; import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowDetailsEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.events.ShowPopupOnCentroiEvent;
import org.gcube.portlets.user.geoportaldataviewer.client.util.LoaderIcon;
import org.gcube.portlets.user.geoportaldataviewer.client.util.StringUtil; import org.gcube.portlets.user.geoportaldataviewer.client.util.StringUtil;
import com.github.gwtbootstrap.client.ui.Alert;
import com.github.gwtbootstrap.client.ui.Button; import com.github.gwtbootstrap.client.ui.Button;
import com.github.gwtbootstrap.client.ui.ListBox; import com.github.gwtbootstrap.client.ui.ListBox;
import com.github.gwtbootstrap.client.ui.NavLink; import com.github.gwtbootstrap.client.ui.NavLink;
import com.github.gwtbootstrap.client.ui.TextBox; import com.github.gwtbootstrap.client.ui.TextBox;
import com.github.gwtbootstrap.client.ui.constants.AlertType;
import com.github.gwtbootstrap.client.ui.constants.ButtonType; import com.github.gwtbootstrap.client.ui.constants.ButtonType;
import com.github.gwtbootstrap.client.ui.constants.IconType;
import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ChangeEvent; import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler; import com.google.gwt.event.dom.client.ChangeHandler;
@ -75,6 +82,8 @@ public class SearchFacilityUI extends Composite {
private HandlerManager appManagerBus; private HandlerManager appManagerBus;
private static final String LABEL_FILTER_SEPARATOR = " - "; private static final String LABEL_FILTER_SEPARATOR = " - ";
private ResultSetPaginatedData latestResult;
interface SearchFacilityPanelUiBinder extends UiBinder<Widget, SearchFacilityUI> { interface SearchFacilityPanelUiBinder extends UiBinder<Widget, SearchFacilityUI> {
} }
@ -106,32 +115,35 @@ public class SearchFacilityUI extends Composite {
private void bindEvents() { private void bindEvents() {
for (ItemField record_FIELD : sortByFields) { for (ItemField record_FIELD : sortByFields) {
String labelASC = toLabelFilter(record_FIELD, ORDER.ASC); if(record_FIELD.isSortable()) {
String labelDESC = toLabelFilter(record_FIELD, ORDER.DESC); String labelASC = toLabelFilter(record_FIELD, ORDER.ASC);
listBoxSortBy.addItem(labelASC); String labelDESC = toLabelFilter(record_FIELD, ORDER.DESC);
listBoxSortBy.addItem(labelDESC); listBoxSortBy.addItem(labelASC);
listBoxSortBy.addItem(labelDESC);
}
} }
listBoxSortBy.addChangeHandler(new ChangeHandler() { listBoxSortBy.addChangeHandler(new ChangeHandler() {
@Override @Override
public void onChange(ChangeEvent event) { public void onChange(ChangeEvent event) {
appManagerBus.fireEvent(new GetListOfRecordsEvent(RECORD_TYPE.CONCESSIONE, getCurrentSortFilter())); if(latestResult!=null && latestResult.getData().size()>0) {
doSearchEvent();
}
} }
}); });
for (ItemField record_FIELD : searchForFields) { for (ItemField record_FIELD : searchForFields) {
listBoxSearchFor.addItem(record_FIELD.getDisplayName()); GWT.log("search for: "+record_FIELD);
if(record_FIELD.isSearchable()) {
listBoxSearchFor.addItem(record_FIELD.getDisplayName());
}
} }
listBoxSearchFor.addChangeHandler(new ChangeHandler() { listBoxSearchFor.addChangeHandler(new ChangeHandler() {
@Override @Override
public void onChange(ChangeEvent event) { public void onChange(ChangeEvent event) {
// alertSearchFor.setText(listBoxSearchFor.getSelectedValue());
if (searchField.getText().length() >= MIN_LENGHT_SERCHING_STRING) { if (searchField.getText().length() >= MIN_LENGHT_SERCHING_STRING) {
doSearchEvent(); doSearchEvent();
} }
@ -182,8 +194,10 @@ public class SearchFacilityUI extends Composite {
@Override @Override
public void onClick(ClickEvent event) { public void onClick(ClickEvent event) {
searchField.setText(""); searchField.setText("");
appManagerBus.fireEvent(new GetListOfRecordsEvent(RECORD_TYPE.CONCESSIONE, getCurrentSortFilter())); //appManagerBus.fireEvent(new GetListOfRecordsEvent(RECORD_TYPE.CONCESSIONE, getCurrentSortFilter()));
resetSearch.setVisible(false); resetSearch.setVisible(false);
panelResults.clear();
latestResult = null;
} }
}); });
@ -192,19 +206,30 @@ public class SearchFacilityUI extends Composite {
private void searchConcessioni() { private void searchConcessioni() {
SearchingFilter filter = getCurrentSortFilter(); SearchingFilter filter = getCurrentSortFilter();
panelResults.clear();
panelResults.add(new HTML("<hr>"));
panelResults.add(new LoaderIcon("Searching..."));
GeoportalDataViewerServiceAsync.Util.getInstance().getListConcessioni(0, 30, filter, false, GeoportalDataViewerServiceAsync.Util.getInstance().getListConcessioni(0, 30, filter, false,
new AsyncCallback<ResultSetPaginatedData>() { new AsyncCallback<ResultSetPaginatedData>() {
@Override @Override
public void onFailure(Throwable caught) { public void onFailure(Throwable caught) {
// showLoading(false); // showLoading(false);
// Window.alert(caught.getMessage()); // Window.alert(caught.getMessage());
panelResults.clear();
panelResults.add(new HTML("<hr>"));
Alert alert = new Alert("Error on searching. Please, refresh or change it");
alert.setType(AlertType.ERROR);
alert.setClose(false);
panelResults.add(alert);
} }
@Override @Override
public void onSuccess(ResultSetPaginatedData result) { public void onSuccess(ResultSetPaginatedData result) {
latestResult = result;
panelResults.clear(); panelResults.clear();
panelResults.add(new HTML("<hr>")); panelResults.add(new HTML("<hr>"));
@ -216,20 +241,24 @@ public class SearchFacilityUI extends Composite {
FlexTable ft = new FlexTable(); FlexTable ft = new FlexTable();
ft.getElement().setClassName("table-results"); ft.getElement().setClassName("table-results");
int i = 0; int i = 1;
ft.setWidget(0, i, new HTML("Name")); ft.setWidget(0, i, new HTML("Name"));
String selValue = listBoxSearchFor.getSelectedValue().toLowerCase(); String selValue = listBoxSearchFor.getSelectedValue().toLowerCase();
boolean addIntroduction = false; boolean addIntroduction = false;
if(selValue.startsWith("name")) { if(selValue.startsWith("name") || selValue.startsWith("any")) {
ft.setWidget(0, ++i, new HTML("Introduction")); ft.setWidget(0, ++i, new HTML("Introduction"));
addIntroduction = true; addIntroduction = true;
} }
boolean addStaff = false; boolean addStaff = false;
if(selValue.startsWith("staff")) { if(selValue.startsWith("direttore")) {
ft.setWidget(0, ++i, new HTML("Staff")); ft.setWidget(0, ++i, new HTML("Authors"));
ft.setWidget(0, ++i, new HTML("Responsabile"));
ft.setWidget(0, ++i, new HTML("Editore"));
ft.setWidget(0, ++i, new HTML("Titolari"));
ft.setWidget(0, ++i, new HTML("Contributore"));
addStaff = true; addStaff = true;
} }
boolean addParole = false; boolean addParole = false;
@ -242,12 +271,35 @@ public class SearchFacilityUI extends Composite {
i = 1; i = 1;
for (ConcessioneDV concessione : result.getData()) { for (ConcessioneDV concessione : result.getData()) {
int j = -1; int j = -1;
NavLink locateOnMap = new NavLink("Show");
locateOnMap.setTitle("Locate on the Map and show details");
locateOnMap.setIcon(IconType.MAP_MARKER);
locateOnMap.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
GeoNaItemRef gir = new GeoNaItemRef(concessione.getItemId(), GeoportalDataViewerConstants.RECORD_TYPE.CONCESSIONE.toString());
appManagerBus.fireEvent(new ShowDetailsEvent(gir, null, null));
appManagerBus.fireEvent(new ShowPopupOnCentroiEvent(concessione));
}
});
ft.setWidget(i, ++j, locateOnMap);
ft.setWidget(i, ++j, new HTML(concessione.getNome())); ft.setWidget(i, ++j, new HTML(concessione.getNome()));
if(addIntroduction) if(addIntroduction)
ft.setWidget(i, ++j, new HTML(StringUtil.ellipsize(concessione.getIntroduzione(), 100))); ft.setWidget(i, ++j, new HTML(StringUtil.ellipsize(concessione.getIntroduzione(), 100)));
if(addStaff) { if(addStaff) {
ft.setWidget(i, ++j, new HTML(toDisplayList(concessione.getAuthors()))); ft.setWidget(i, ++j, new HTML(toDisplayList(concessione.getAuthors())));
ft.setWidget(i, ++j, new HTML(toDisplayList(Arrays.asList(concessione.getResponsabile()))));
ft.setWidget(i, ++j, new HTML(toDisplayList(Arrays.asList(concessione.getEditore()))));
ft.setWidget(i, ++j, new HTML(toDisplayList(concessione.getTitolari())));
ft.setWidget(i, ++j, new HTML(toDisplayList(Arrays.asList(concessione.getContributore()))));
} }
if(addParole) { if(addParole) {
@ -276,7 +328,7 @@ public class SearchFacilityUI extends Composite {
// if (!imagePreviewFound) { // if (!imagePreviewFound) {
// ft.setWidget(i, 2, new Image(GNAImages.ICONS.italyIcon())); // ft.setWidget(i, 2, new Image(GNAImages.ICONS.italyIcon()));
// } // }
i++; i++;
} }
@ -346,15 +398,22 @@ public class SearchFacilityUI extends Composite {
if (searchText != null && !searchText.isEmpty()) { if (searchText != null && !searchText.isEmpty()) {
Map<String, Object> searchInto = new HashMap<String, Object>(); Map<String, Object> searchInto = new HashMap<String, Object>();
String searchForField = ""; List<String> listOfSeachingFields = new ArrayList<String>();
for (ItemField recordField : searchForFields) { for (ItemField recordField : searchForFields) {
if (recordField.getDisplayName().equals(listBoxSearchFor.getSelectedValue())) { if (recordField.getDisplayName().equals(listBoxSearchFor.getSelectedValue())) {
searchForField = recordField.getJsonFields().get(0); listOfSeachingFields = recordField.getJsonFields();
continue; continue;
} }
} }
searchInto.put(searchForField, searchText);
if(listOfSeachingFields.size()==0) {
listOfSeachingFields.add("nome");
}
for (String fieldname : listOfSeachingFields) {
searchInto.put(fieldname, searchText);
}
searchingFilter.setSearchInto(searchInto); searchingFilter.setSearchInto(searchInto);
} }
return searchingFilter; return searchingFilter;

View File

@ -697,16 +697,19 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
*/ */
@Override @Override
public List<ItemField> listOfFieldsForSearching() { public List<ItemField> listOfFieldsForSearching() {
//GeoportalCommon gc = new GeoportalCommon(); // GeoportalCommon gc = new GeoportalCommon();
//return gc.getGNADataConfig().getListItemFields(); // return gc.getGNADataConfig().getListItemFields();
List<ItemField> listItemFields = new ArrayList<ItemField>(); List<ItemField> listItemFields = new ArrayList<ItemField>();
listItemFields.add(new ItemField("Any Field",
Arrays.asList("nome", "authors", "introduzione", "contributore", "titolari", "editore", "responsabile", "paroleChiaveLibere", "paroleChiaveICCD"), false, false, true));
listItemFields.add(new ItemField("Name", Arrays.asList("nome"), true, true, true)); listItemFields.add(new ItemField("Name", Arrays.asList("nome"), true, true, true));
listItemFields.add(new ItemField("Staff", Arrays.asList("authors"), true, true, true)); listItemFields.add(new ItemField("Direttore/Staff",
listItemFields.add(new ItemField("Parola chiave", Arrays.asList("paroleChiaveLibere","paroleChiaveICCD"), true, true, true)); Arrays.asList("authors", "contributore", "titolari", "editore", "responsabile"), true, false, true));
listItemFields.add(new ItemField("Parola chiave", Arrays.asList("paroleChiaveLibere", "paroleChiaveICCD"), true,
false, true));
return listItemFields; return listItemFields;
} }
/** /**
* Gets the list concessioni. * Gets the list concessioni.

View File

@ -473,14 +473,14 @@ body {
.table-results { .table-results {
table-layout: fixed; table-layout: fixed;
width: 600px; /*width: 600px;*/
} }
.table-results td { .table-results td {
padding: 5px; padding: 5px;
/* For Firefox */ /* For Firefox */
white-space: pre-wrap; white-space: pre-wrap;
word-break: break-all; /*word-break: break-all;*/
/* For Chrome and IE */ /* For Chrome and IE */
word-wrap: break-word; word-wrap: break-word;
} }
@ -496,6 +496,6 @@ body {
} }
.table-results td:nth-child(1) { .table-results td:nth-child(1) {
width: 200px; /*width: 200px;*/
} }