ckan-content-moderator-widget/src/main/java/org/gcube/portlets/widgets/ckancontentmoderator/client/CkanContentModeratorWidget....

94 lines
2.7 KiB
Java
Raw Normal View History

2021-05-06 17:48:18 +02:00
package org.gcube.portlets.widgets.ckancontentmoderator.client;
2022-04-22 15:38:57 +02:00
import org.gcube.datacatalogue.utillibrary.shared.ItemStatus;
2022-04-08 12:06:33 +02:00
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.MainPanel;
import org.gcube.portlets.widgets.ckancontentmoderator.client.ui.util.ExtModal;
2022-05-04 11:06:04 +02:00
import org.gcube.portlets.widgets.ckancontentmoderator.client.util.ModerationQueryStringUtil.ModerationBuilder;
2022-04-22 15:38:57 +02:00
import org.gcube.portlets.widgets.ckancontentmoderator.shared.DISPLAY_FIELD;
2021-06-01 13:24:09 +02:00
2022-04-08 12:06:33 +02:00
import com.github.gwtbootstrap.client.ui.Modal;
import com.google.gwt.user.client.ui.Composite;
2021-06-01 13:24:09 +02:00
2021-05-06 17:48:18 +02:00
/**
2021-06-15 16:52:27 +02:00
* The Class CkanContentModeratorWidget.
*
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
*
2022-04-08 12:06:33 +02:00
* Apr 7, 2022
2021-05-06 17:48:18 +02:00
*/
public class CkanContentModeratorWidget {
2022-04-08 12:06:33 +02:00
private MainPanel mainPanel = new MainPanel();
private CheckConfigsUxController ccux;
2021-06-15 16:52:27 +02:00
/**
* Instantiates a new ckan content moderator widget.
2022-05-04 11:06:04 +02:00
*
* @param initItemStatus the init item status
* @param initOnItemName the init on item name
* @param displayFields the display fields
* @param sortByFields the sort by fields
2021-06-15 16:52:27 +02:00
*/
2022-05-04 11:06:04 +02:00
public CkanContentModeratorWidget(ItemStatus initItemStatus, String initOnItemName, DISPLAY_FIELD[] displayFields,
2022-04-22 15:38:57 +02:00
DISPLAY_FIELD[] sortByFields) {
2022-04-08 12:06:33 +02:00
mainPanel.setWidth("100%");
ccux = new CheckConfigsUxController(mainPanel, initItemStatus, initOnItemName, displayFields, sortByFields, null);
2022-04-08 12:06:33 +02:00
boolean isModeratorRoleAssigned = false;
2022-04-08 12:06:33 +02:00
try {
isModeratorRoleAssigned = ccux.getModeratorCheckConfig().isModeratorRoleAssigned();
2022-04-08 12:06:33 +02:00
} catch (Exception e) {
}
2021-06-15 16:52:27 +02:00
if (isModeratorRoleAssigned) {
2022-04-08 12:06:33 +02:00
mainPanel.setLoggedLabelText("Logged in as Moderator");
}
2022-05-04 11:06:04 +02:00
}
/**
* Instantiates a new ckan content moderator widget.
*
* @param builder the builder
*/
public CkanContentModeratorWidget(ModerationBuilder builder) {
this(builder.getItemStatus(), builder.getItemName(), builder.getDisplayFields(), builder.getSortByFields());
2022-04-08 12:06:33 +02:00
}
/**
* Show as modal.
2022-05-04 11:06:04 +02:00
*
* @param modalTitle the modal title
2022-04-08 12:06:33 +02:00
*/
public void showAsModal(String modalTitle) {
final Modal modal = new ExtModal(true, true);
modalTitle = modalTitle == null || modalTitle.isEmpty() ? "Manage Items" : modalTitle;
modal.setTitle(modalTitle);
modal.setWidth(1200);
modal.getElement().addClassName("modal-content-moderator");
// modal.getElement().getStyle().setProperty("min-height", "500px");
modal.add(mainPanel);
modal.setCloseVisible(true);
modal.show();
2021-06-15 16:52:27 +02:00
}
2021-06-15 18:36:28 +02:00
2021-06-18 12:10:49 +02:00
/**
* Gets the panel.
*
* @return the panel
*/
2022-04-08 12:06:33 +02:00
public Composite getPanel() {
return mainPanel;
2021-05-26 17:58:12 +02:00
}
2022-05-04 11:06:04 +02:00
/**
* Gets the congifs.
*
* @return the congifs
*/
2022-04-08 12:06:33 +02:00
public CkanContentModeratorCheckConfigs getCongifs() {
return ccux.getModeratorCheckConfig();
}
2021-05-06 17:48:18 +02:00
}