task_21363 #1
|
@ -25,9 +25,12 @@ import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.MainTabPanel;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.table.ItemsTable.DISPLAY_FIELD;
|
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.table.ItemsTable.DISPLAY_FIELD;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.shared.CatalogueDataset;
|
import org.gcube.portlets.widgets.ckancontentmoderator.shared.CatalogueDataset;
|
||||||
|
|
||||||
|
import com.github.gwtbootstrap.client.ui.Alert;
|
||||||
|
import com.github.gwtbootstrap.client.ui.constants.AlertType;
|
||||||
import com.google.gwt.core.client.GWT;
|
import com.google.gwt.core.client.GWT;
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
import com.google.gwt.event.shared.HandlerManager;
|
||||||
import com.google.gwt.user.client.Command;
|
import com.google.gwt.user.client.Command;
|
||||||
|
import com.google.gwt.user.client.Timer;
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
import com.google.gwt.user.client.rpc.AsyncCallback;
|
||||||
import com.google.gwt.user.client.ui.ComplexPanel;
|
import com.google.gwt.user.client.ui.ComplexPanel;
|
||||||
import com.google.gwt.user.client.ui.FlowPanel;
|
import com.google.gwt.user.client.ui.FlowPanel;
|
||||||
|
@ -45,6 +48,7 @@ public class CkanContentModeratorWidgetController {
|
||||||
.create(CkanContentModeratorService.class);
|
.create(CkanContentModeratorService.class);
|
||||||
|
|
||||||
private FlowPanel mainPanel = new FlowPanel();
|
private FlowPanel mainPanel = new FlowPanel();
|
||||||
|
private FlowPanel infoPanel = new FlowPanel();
|
||||||
|
|
||||||
private ContentModeratorToolbar toolbar;
|
private ContentModeratorToolbar toolbar;
|
||||||
private MainTabPanel mainTabPanel = new MainTabPanel();
|
private MainTabPanel mainTabPanel = new MainTabPanel();
|
||||||
|
@ -65,6 +69,7 @@ public class CkanContentModeratorWidgetController {
|
||||||
howeView = new HomeView(eventBus, status, displayFields, sortByField);
|
howeView = new HomeView(eventBus, status, displayFields, sortByField);
|
||||||
mainTabPanel.addHomeWidget(howeView.getPanel());
|
mainTabPanel.addHomeWidget(howeView.getPanel());
|
||||||
mainPanel.add(toolbar);
|
mainPanel.add(toolbar);
|
||||||
|
mainPanel.add(infoPanel);
|
||||||
mainPanel.add(mainTabPanel);
|
mainPanel.add(mainTabPanel);
|
||||||
bindEvents();
|
bindEvents();
|
||||||
}
|
}
|
||||||
|
@ -160,10 +165,31 @@ public class CkanContentModeratorWidgetController {
|
||||||
@Override
|
@Override
|
||||||
public void onValueChanged(SelectItemsWithItemStatusEvent statusSelectedEvent) {
|
public void onValueChanged(SelectItemsWithItemStatusEvent statusSelectedEvent) {
|
||||||
GWT.log("On value changed: " + statusSelectedEvent.getItemStatus());
|
GWT.log("On value changed: " + statusSelectedEvent.getItemStatus());
|
||||||
|
infoPanel.clear();
|
||||||
if (statusSelectedEvent.getItemStatus() != null) {
|
if (statusSelectedEvent.getItemStatus() != null) {
|
||||||
howeView.loadItemsWithStatus(statusSelectedEvent.getItemStatus());
|
howeView.loadItemsWithStatus(statusSelectedEvent.getItemStatus());
|
||||||
mainTabPanel.selectTab(0);
|
mainTabPanel.selectTab(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(statusSelectedEvent.getDisplayMessage()!=null) {
|
||||||
|
final Alert alert = new Alert(statusSelectedEvent.getDisplayMessage());
|
||||||
|
alert.setType(AlertType.INFO);
|
||||||
|
alert.setClose(true);
|
||||||
|
alert.setAnimation(true);
|
||||||
|
infoPanel.add(alert);
|
||||||
|
|
||||||
|
//Cleans the info panel after 10 sec.
|
||||||
|
Timer t = new Timer() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
infoPanel.clear();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
t.schedule(10000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -14,14 +14,17 @@ import com.google.gwt.event.shared.GwtEvent;
|
||||||
public class SelectItemsWithItemStatusEvent extends GwtEvent<SelectItemsWithItemStatusEventHandler> {
|
public class SelectItemsWithItemStatusEvent extends GwtEvent<SelectItemsWithItemStatusEventHandler> {
|
||||||
public static Type<SelectItemsWithItemStatusEventHandler> TYPE = new Type<SelectItemsWithItemStatusEventHandler>();
|
public static Type<SelectItemsWithItemStatusEventHandler> TYPE = new Type<SelectItemsWithItemStatusEventHandler>();
|
||||||
private ItemStatus itemStatus;
|
private ItemStatus itemStatus;
|
||||||
|
private String displayMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new click item event.
|
* Instantiates a new click item event.
|
||||||
*
|
*
|
||||||
* @param itemStatus the item status
|
* @param itemStatus the item status
|
||||||
|
* @param displayMessage the display message
|
||||||
*/
|
*/
|
||||||
public SelectItemsWithItemStatusEvent(ItemStatus itemStatus) {
|
public SelectItemsWithItemStatusEvent(ItemStatus itemStatus, String displayMessage) {
|
||||||
this.itemStatus = itemStatus;
|
this.itemStatus = itemStatus;
|
||||||
|
this.displayMessage = displayMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -52,5 +55,14 @@ public class SelectItemsWithItemStatusEvent extends GwtEvent<SelectItemsWithItem
|
||||||
public ItemStatus getItemStatus() {
|
public ItemStatus getItemStatus() {
|
||||||
return itemStatus;
|
return itemStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the display message.
|
||||||
|
*
|
||||||
|
* @return the display message
|
||||||
|
*/
|
||||||
|
public String getDisplayMessage() {
|
||||||
|
return displayMessage;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ public class ContentModeratorToolbar extends Composite {
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
GWT.log("clicked: "+status);
|
GWT.log("clicked: "+status);
|
||||||
setActiveStatus(status);
|
setActiveStatus(status);
|
||||||
eventBus.fireEvent(new SelectItemsWithItemStatusEvent(status));
|
eventBus.fireEvent(new SelectItemsWithItemStatusEvent(status, null));
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -6,6 +6,7 @@ import java.util.List;
|
||||||
import org.gcube.datacatalogue.utillibrary.shared.ItemStatus;
|
import org.gcube.datacatalogue.utillibrary.shared.ItemStatus;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorWidgetController;
|
import org.gcube.portlets.widgets.ckancontentmoderator.client.CkanContentModeratorWidgetController;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.client.events.CheckBoxSelectIemsEvent;
|
import org.gcube.portlets.widgets.ckancontentmoderator.client.events.CheckBoxSelectIemsEvent;
|
||||||
|
import org.gcube.portlets.widgets.ckancontentmoderator.client.events.SelectItemsWithItemStatusEvent;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.table.ItemsTable.DISPLAY_FIELD;
|
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.table.ItemsTable.DISPLAY_FIELD;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.util.UtilFunct;
|
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.util.UtilFunct;
|
||||||
import org.gcube.portlets.widgets.ckancontentmoderator.shared.CatalogueDataset;
|
import org.gcube.portlets.widgets.ckancontentmoderator.shared.CatalogueDataset;
|
||||||
|
@ -33,7 +34,6 @@ import com.google.gwt.user.client.ui.HTMLPanel;
|
||||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Class HomeView.
|
* The Class HomeView.
|
||||||
*
|
*
|
||||||
|
@ -237,16 +237,17 @@ public class HomeView extends Composite {
|
||||||
*/
|
*/
|
||||||
private void showDoActionView(NavLink navLink) {
|
private void showDoActionView(NavLink navLink) {
|
||||||
confirmPanelContainer.clear();
|
confirmPanelContainer.clear();
|
||||||
GWT.log("showConfirm clicked link: " + navLink.getText());
|
GWT.log("showDoActionView clicked link: " + navLink.getText());
|
||||||
ItemStatus fromStatus = displayingItemStatus;
|
ItemStatus fromStatus = displayingItemStatus;
|
||||||
ItemStatus toStatus = UtilFunct.toStatusFromStatusLabel(navLink.getText().trim());
|
final ItemStatus toStatus = UtilFunct.toStatusFromStatusLabel(navLink.getText().trim());
|
||||||
GWT.log("Do action on from: " + fromStatus + " to: " + toStatus);
|
GWT.log("Do action on from: " + fromStatus + " to: " + toStatus);
|
||||||
if (toStatus == null) {
|
if (toStatus == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
DoActionCMSView doActionCMS = new DoActionCMSView();
|
DoActionCMSView doActionCMS = new DoActionCMSView();
|
||||||
doActionCMS.updateStatus(fromStatus, toStatus, paginatedView.getSelectItems());
|
final List<CatalogueDataset> selectedItems = paginatedView.getSelectItems();
|
||||||
|
doActionCMS.updateStatus(fromStatus, toStatus, selectedItems);
|
||||||
|
|
||||||
final AlertBlock newAlertBlock = doActionCMS.getAlertBlockDoAction();
|
final AlertBlock newAlertBlock = doActionCMS.getAlertBlockDoAction();
|
||||||
newAlertBlock.addClosedHandler(new ClosedHandler<AlertBase>() {
|
newAlertBlock.addClosedHandler(new ClosedHandler<AlertBase>() {
|
||||||
|
@ -263,6 +264,22 @@ public class HomeView extends Composite {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
confirmPanelContainer.clear();
|
confirmPanelContainer.clear();
|
||||||
|
|
||||||
|
|
||||||
|
//TODO DO ACTION UPDATE STATUS OR DELETE PERMANENTLY
|
||||||
|
|
||||||
|
int count = selectedItems.size();
|
||||||
|
String msg = "";
|
||||||
|
if (count > 0) {
|
||||||
|
if (count == 1) {
|
||||||
|
msg += "One item";
|
||||||
|
} else {
|
||||||
|
msg += count + " items";
|
||||||
|
}
|
||||||
|
|
||||||
|
msg += " moved to " + toStatus + " status";
|
||||||
|
}
|
||||||
|
eventBus.fireEvent(new SelectItemsWithItemStatusEvent(displayingItemStatus, msg));
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -285,10 +302,11 @@ public class HomeView extends Composite {
|
||||||
*/
|
*/
|
||||||
private void showDoActionViewDeletePermanently() {
|
private void showDoActionViewDeletePermanently() {
|
||||||
confirmPanelContainer.clear();
|
confirmPanelContainer.clear();
|
||||||
GWT.log("showDoActionDeletePermanently...");
|
GWT.log("showDoActionViewDeletePermanently...");
|
||||||
|
|
||||||
DoActionCMSView doActionCMS = new DoActionCMSView();
|
DoActionCMSView doActionCMS = new DoActionCMSView();
|
||||||
doActionCMS.permanentlyDelete(paginatedView.getSelectItems());
|
final List<CatalogueDataset> selectedItems = paginatedView.getSelectItems();
|
||||||
|
doActionCMS.permanentlyDelete(selectedItems);
|
||||||
|
|
||||||
final AlertBlock newAlertBlock = doActionCMS.getAlertBlockDoAction();
|
final AlertBlock newAlertBlock = doActionCMS.getAlertBlockDoAction();
|
||||||
newAlertBlock.addClosedHandler(new ClosedHandler<AlertBase>() {
|
newAlertBlock.addClosedHandler(new ClosedHandler<AlertBase>() {
|
||||||
|
@ -305,7 +323,22 @@ public class HomeView extends Composite {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(ClickEvent event) {
|
public void onClick(ClickEvent event) {
|
||||||
confirmPanelContainer.clear();
|
confirmPanelContainer.clear();
|
||||||
|
|
||||||
|
|
||||||
|
//TODO DO ACTION DELETE PERMANENTLY
|
||||||
|
|
||||||
|
int count = selectedItems.size();
|
||||||
|
String msg = "Deleted permanently";
|
||||||
|
if (count > 0) {
|
||||||
|
if (count == 1) {
|
||||||
|
msg += " one item";
|
||||||
|
} else {
|
||||||
|
msg += " " + count + " items";
|
||||||
|
}
|
||||||
|
|
||||||
|
msg += " from Catalogue";
|
||||||
|
}
|
||||||
|
eventBus.fireEvent(new SelectItemsWithItemStatusEvent(displayingItemStatus, msg));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue