remove usage of vaadin table => grid instead
Vaadin 8++
This commit is contained in:
parent
724d0f8e11
commit
9201686d7b
11 changed files with 241 additions and 178 deletions
|
|
@ -68,7 +68,7 @@
|
|||
<dependency>
|
||||
<groupId>com.vaadin</groupId>
|
||||
<artifactId>vaadin-spring-boot-starter</artifactId>
|
||||
<version>1.2.0</version>
|
||||
<version>3.1.1</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>spring-boot-autoconfigure</artifactId>
|
||||
|
|
@ -93,24 +93,24 @@
|
|||
<dependency>
|
||||
<groupId>com.vaadin</groupId>
|
||||
<artifactId>vaadin-push</artifactId>
|
||||
<version>7.7.6</version>
|
||||
<version>8.2.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||
<version>1.5.1.RELEASE</version>
|
||||
<version>1.4.7.RELEASE</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-autoconfigure</artifactId>
|
||||
<version>1.5.1.RELEASE</version>
|
||||
<version>1.4.7.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot</artifactId>
|
||||
<version>1.5.1.RELEASE</version>
|
||||
<version>1.4.7.RELEASE</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ import org.chtijbug.drools.console.view.TableLikeArtefactView;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
@Push
|
||||
@Theme("runo")
|
||||
@Theme("mytheme")
|
||||
@SpringUI
|
||||
@PreserveOnRefresh
|
||||
@SuppressWarnings("serial")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.chtijbug.drools.console;
|
||||
|
||||
import com.vaadin.event.FieldEvents;
|
||||
import com.vaadin.data.HasValue;
|
||||
import com.vaadin.navigator.View;
|
||||
import com.vaadin.navigator.ViewChangeListener;
|
||||
import com.vaadin.ui.*;
|
||||
|
|
@ -44,13 +44,13 @@ public class WelcomeView extends VerticalLayout implements View {
|
|||
userNameTextField = new TextField("User name");
|
||||
userNameTextField.setValue(configKie.getUserName());
|
||||
userConnected.setUserName(configKie.getUserName());
|
||||
userNameTextField.addTextChangeListener((FieldEvents.TextChangeListener) textChangeEvent -> userConnected.setUserName(textChangeEvent.getText()));
|
||||
userNameTextField.addValueChangeListener((HasValue.ValueChangeListener<String>) valueChangeEvent -> userConnected.setUserName(valueChangeEvent.getValue()));
|
||||
|
||||
userHorizontal.addComponent(userNameTextField);
|
||||
userpasswdTextField = new PasswordField("Password");
|
||||
userpasswdTextField.setValue(configKie.getPassword());
|
||||
userConnected.setUserPassword(configKie.getPassword());
|
||||
userpasswdTextField.addTextChangeListener((FieldEvents.TextChangeListener) textChangeEvent -> userConnected.setUserPassword(textChangeEvent.getText()));
|
||||
userpasswdTextField.addValueChangeListener((HasValue.ValueChangeListener<String>) valueChangeEvent -> userConnected.setUserPassword(valueChangeEvent.getValue()));
|
||||
userHorizontal.addComponent(userpasswdTextField);
|
||||
loginButton = new Button("login");
|
||||
userHorizontal.addComponent(loginButton);
|
||||
|
|
|
|||
|
|
@ -149,6 +149,10 @@ public class KieServerRepositoryService {
|
|||
reponseMoteur = response.getBody();
|
||||
workOnGoingView.addRow(reponseMoteur.toString());
|
||||
KieContainerInfo result = new KieContainerInfo();
|
||||
if (reponseMoteur.get("result") != null) {
|
||||
String containerID = (String) ((Map) ((Map) reponseMoteur.get("result")).get("kie-container")).get("container-id");
|
||||
result.setContainerId(containerID);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,17 @@
|
|||
package org.chtijbug.drools.console.view;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.XmlMapper;
|
||||
import com.vaadin.data.Container;
|
||||
import com.vaadin.data.Item;
|
||||
import com.vaadin.data.Binder;
|
||||
import com.vaadin.navigator.View;
|
||||
import com.vaadin.navigator.ViewChangeListener;
|
||||
import com.vaadin.ui.Button;
|
||||
import com.vaadin.ui.Grid;
|
||||
import com.vaadin.ui.HorizontalLayout;
|
||||
import com.vaadin.ui.VerticalLayout;
|
||||
import com.vaadin.ui.*;
|
||||
import com.vaadin.ui.renderers.DateRenderer;
|
||||
import com.vaadin.ui.renderers.TextRenderer;
|
||||
import org.chtijbug.drools.console.AddLog;
|
||||
import org.chtijbug.drools.console.service.KieRepositoryService;
|
||||
import org.chtijbug.drools.console.service.model.UserConnected;
|
||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
||||
import org.chtijbug.drools.console.service.util.AppContext;
|
||||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
||||
import org.drools.workbench.models.datamodel.rule.InterpolationVariable;
|
||||
import org.drools.workbench.models.guided.template.backend.RuleTemplateModelXMLPersistenceImpl;
|
||||
import org.drools.workbench.models.guided.template.shared.TemplateModel;
|
||||
|
|
@ -22,32 +19,34 @@ import org.drools.workbench.models.guided.template.shared.TemplateModel;
|
|||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.ZoneId;
|
||||
import java.util.*;
|
||||
|
||||
public class AssetEditView extends VerticalLayout implements AddLog, View {
|
||||
|
||||
final private KieRepositoryService kieRepositoryService;
|
||||
final private KieConfigurationData config;
|
||||
private UserConnected userConnected;
|
||||
private Asset assetToUpdate;
|
||||
private String assetToUpdate;
|
||||
private XmlMapper mapper = new XmlMapper();
|
||||
private String spaceName;
|
||||
private String projectName;
|
||||
private Grid gridAssetTable;
|
||||
private Grid<Map<String, Object>> gridAssetTable;
|
||||
private Button startUpdate;
|
||||
private Button commitUpdate;
|
||||
private Button undoUpdate;
|
||||
|
||||
|
||||
public AssetEditView(UserConnected userConnected, String spaceName, String projectName, Asset assetToUpdate) {
|
||||
public AssetEditView(UserConnected userConnected, String spaceName, String projectName, String assetToUpdate) {
|
||||
this.userConnected = userConnected;
|
||||
this.assetToUpdate = assetToUpdate;
|
||||
this.spaceName = spaceName;
|
||||
this.projectName = projectName;
|
||||
this.kieRepositoryService = AppContext.getApplicationContext().getBean(KieRepositoryService.class);
|
||||
this.config = AppContext.getApplicationContext().getBean(KieConfigurationData.class);
|
||||
String assetContent = kieRepositoryService.getAssetSource(config.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword(), spaceName, projectName, assetToUpdate.getTitle());
|
||||
String assetContent = kieRepositoryService.getAssetSource(config.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword(), spaceName, projectName, assetToUpdate);
|
||||
TemplateModel model = RuleTemplateModelXMLPersistenceImpl.getInstance().unmarshal(assetContent);
|
||||
|
||||
|
||||
|
|
@ -60,9 +59,8 @@ public class AssetEditView extends VerticalLayout implements AddLog, View {
|
|||
startUpdate.setEnabled(false);
|
||||
commitUpdate.setEnabled(true);
|
||||
undoUpdate.setEnabled(true);
|
||||
gridAssetTable.setEditorEnabled(true);
|
||||
gridAssetTable.setReadOnly(false);
|
||||
|
||||
gridAssetTable.setEnabled(true);
|
||||
gridAssetTable.getEditor().setEnabled(true);
|
||||
});
|
||||
commitUpdate = new Button("Commit");
|
||||
commitUpdate.setEnabled(false);
|
||||
|
|
@ -70,10 +68,7 @@ public class AssetEditView extends VerticalLayout implements AddLog, View {
|
|||
startUpdate.setEnabled(true);
|
||||
commitUpdate.setEnabled(false);
|
||||
undoUpdate.setEnabled(false);
|
||||
gridAssetTable.cancelEditor();
|
||||
gridAssetTable.setEditorEnabled(false);
|
||||
gridAssetTable.setReadOnly(true);
|
||||
|
||||
gridAssetTable.getEditor().setEnabled(false);
|
||||
|
||||
});
|
||||
actionButtons.addComponent(commitUpdate);
|
||||
|
|
@ -83,77 +78,143 @@ public class AssetEditView extends VerticalLayout implements AddLog, View {
|
|||
startUpdate.setEnabled(true);
|
||||
commitUpdate.setEnabled(false);
|
||||
undoUpdate.setEnabled(false);
|
||||
gridAssetTable.cancelEditor();
|
||||
gridAssetTable.setEditorEnabled(false);
|
||||
gridAssetTable.cancelEditor();
|
||||
gridAssetTable.setReadOnly(true);
|
||||
gridAssetTable.getEditor().setEnabled(false);
|
||||
fillTable(model);
|
||||
|
||||
});
|
||||
actionButtons.addComponent(undoUpdate);
|
||||
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
|
||||
gridAssetTable = new Grid("Data");
|
||||
gridAssetTable = new Grid<>("Data");
|
||||
this.addComponent(gridAssetTable);
|
||||
gridAssetTable.setEditorEnabled(false);
|
||||
gridAssetTable.setSelectionMode(Grid.SelectionMode.SINGLE);
|
||||
gridAssetTable.setReadOnly(true);
|
||||
|
||||
Binder<Map<String, Object>> binder = gridAssetTable.getEditor().getBinder();
|
||||
|
||||
|
||||
Map<String, Object> initRow = new HashMap<>();
|
||||
for (InterpolationVariable i : variablesList) {
|
||||
|
||||
if (i.getDataType().equals("String")) {
|
||||
gridAssetTable.addColumn(i.getVarName(), String.class);
|
||||
Binder.Binding<Map<String, Object>, String> b = createTextField(i.getVarName(), binder);
|
||||
initRow.put(i.getVarName(), i.getVarName());
|
||||
gridAssetTable.addColumn(hashmap -> hashmap.get(i.getVarName()), new TextRenderer()).setEditorBinding(b).setCaption(i.getVarName());
|
||||
|
||||
} else if (i.getDataType().equals("Date")) {
|
||||
gridAssetTable.addColumn(i.getVarName(), Date.class);
|
||||
Binder.Binding<Map<String, Object>, LocalDate> b = createDateField(i.getVarName(), binder);
|
||||
initRow.put(i.getVarName(), new Date());
|
||||
gridAssetTable.addColumn(hashmap -> toDate((String) hashmap.get(i.getVarName())), new DateRenderer()).setId(i.getVarName()).setEditorBinding(b).setCaption(i.getVarName());
|
||||
} else {
|
||||
gridAssetTable.addColumn(i.getVarName(), String.class);
|
||||
Binder.Binding<Map<String, Object>, String> b = createTextField(i.getVarName(), binder);
|
||||
initRow.put(i.getVarName(), i.getVarName());
|
||||
gridAssetTable.addColumn(hashmap -> hashmap.get(i.getVarName()), new com.vaadin.ui.renderers.TextRenderer()).setId(i.getVarName()).setEditorBinding(b).setCaption(i.getVarName());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
binder.setBean(giveInitRow(model));
|
||||
fillTable(model);
|
||||
|
||||
gridAssetTable.setSizeFull();
|
||||
/**
|
||||
excelExporter = new ExcelExporter();
|
||||
excelExporter.setDateFormat("dd-MM-yyyy");
|
||||
excelExporter.setLocale(Locale.FRANCE);
|
||||
excelExporter.setTableToBeExported(gridAssetTable);
|
||||
excelExporter.setCaption("Export to Excel");
|
||||
actionButtons.addComponent(excelExporter);
|
||||
excelExporter.setEnabled(true);
|
||||
*
|
||||
*/
|
||||
}
|
||||
|
||||
excelImportTable = new ExcelImportTable(gridAssetTable);
|
||||
excelImportTable.setLocale(Locale.FRANCE);
|
||||
actionButtons.addComponent(excelImportTable);
|
||||
**/
|
||||
private Date toDate(String dateString) {
|
||||
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRANCE);
|
||||
Date result = null;
|
||||
try {
|
||||
result = format.parse(dateString);
|
||||
} catch (ParseException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private Binder.Binding<Map<String, Object>, String> createTextField(String code, Binder<Map<String, Object>> binder) {
|
||||
TextField tf = new TextField();
|
||||
tf.setWidth(250, Unit.PIXELS);
|
||||
|
||||
//bind element
|
||||
|
||||
Binder.Binding<Map<String, Object>, String> binding = binder.forField(tf).bind(// getter
|
||||
hash -> {
|
||||
return (String) hash.get(code);
|
||||
},
|
||||
//setter
|
||||
(hash, fieldValue) -> {
|
||||
hash.put(code, fieldValue);
|
||||
});
|
||||
return binding;
|
||||
|
||||
}
|
||||
|
||||
private Binder.Binding<Map<String, Object>, LocalDate> createDateField(String code, Binder<Map<String, Object>> binder) {
|
||||
DateField tf = new DateField();
|
||||
tf.setWidth(250, Unit.PIXELS);
|
||||
|
||||
//bind element
|
||||
|
||||
Binder.Binding<Map<String, Object>, LocalDate> binding = binder.forField(tf).bind(// getter
|
||||
hash -> {
|
||||
return toLocalDate(toDate((String) hash.get(code)));
|
||||
},
|
||||
//setter
|
||||
(hash, fieldValue) -> {
|
||||
hash.put(code, toString(fieldValue));
|
||||
gridAssetTable.getDataProvider().refreshAll();
|
||||
});
|
||||
return binding;
|
||||
|
||||
}
|
||||
|
||||
private String toString(LocalDate input) {
|
||||
String result = null;
|
||||
|
||||
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRANCE);
|
||||
Date theDate = Date.from(input.atStartOfDay()
|
||||
.atZone(ZoneId.systemDefault())
|
||||
.toInstant());
|
||||
result = format.format(theDate);
|
||||
return result;
|
||||
}
|
||||
|
||||
private LocalDate toLocalDate(Date input) {
|
||||
LocalDate result = null;
|
||||
if (input != null) {
|
||||
result = Instant.ofEpochMilli(input.getTime()).atZone(ZoneId.of("Europe/Paris")).toLocalDate();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private Map<String, Object> giveInitRow(TemplateModel model) {
|
||||
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
|
||||
Map<String, Object> newRow = new HashMap<>();
|
||||
String[][] contenuTable = model.getTableAsArray();
|
||||
if (contenuTable.length > 0) {
|
||||
String[] ligne = contenuTable[0];
|
||||
int k = 0;
|
||||
for (InterpolationVariable j : variablesList) {
|
||||
newRow.put(j.getVarName(), ligne[k]);
|
||||
k++;
|
||||
}
|
||||
}
|
||||
return newRow;
|
||||
}
|
||||
|
||||
private void fillTable(TemplateModel model) {
|
||||
InterpolationVariable[] variablesList = model.getInterpolationVariablesList();
|
||||
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.FRANCE);
|
||||
String[][] contenuTable = model.getTableAsArray();
|
||||
Container dataSource = gridAssetTable.getContainerDataSource();
|
||||
dataSource.removeAllItems();
|
||||
List<Map<String, Object>> rows = new ArrayList<>();
|
||||
for (int i = 0; i < model.getRowsCount(); i++) {
|
||||
Map<String, Object> newRow = new HashMap<>();
|
||||
rows.add(newRow);
|
||||
String[] ligne = contenuTable[i];
|
||||
Object item = dataSource.addItem();
|
||||
Item row1 = dataSource.getItem(item);
|
||||
int k = 0;
|
||||
for (InterpolationVariable j : variablesList) {
|
||||
if (j.getDataType().equals("String")) {
|
||||
row1.getItemProperty(j.getVarName()).setValue(ligne[k]);
|
||||
} else if (j.getDataType().equals("Date")) {
|
||||
try {
|
||||
row1.getItemProperty(j.getVarName()).setValue(format.parse(ligne[k]));
|
||||
} catch (ParseException e) {
|
||||
row1.getItemProperty(j.getVarName()).setValue(new Date());
|
||||
}
|
||||
} else {
|
||||
row1.getItemProperty(j.getVarName()).setValue(ligne[k]);
|
||||
}
|
||||
|
||||
newRow.put(j.getVarName(), ligne[k]);
|
||||
k++;
|
||||
}
|
||||
|
||||
}
|
||||
gridAssetTable.setItems(rows);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,8 @@
|
|||
package org.chtijbug.drools.console.view;
|
||||
|
||||
import com.vaadin.data.Item;
|
||||
import com.vaadin.data.Property;
|
||||
import com.vaadin.data.util.BeanItemContainer;
|
||||
import com.vaadin.data.util.IndexedContainer;
|
||||
import com.vaadin.navigator.View;
|
||||
import com.vaadin.navigator.ViewChangeListener;
|
||||
import com.vaadin.ui.*;
|
||||
import com.vaadin.ui.themes.Runo;
|
||||
import org.chtijbug.drools.console.AddLog;
|
||||
import org.chtijbug.drools.console.service.KieRepositoryService;
|
||||
import org.chtijbug.drools.console.service.KieServerRepositoryService;
|
||||
|
|
@ -16,15 +11,16 @@ import org.chtijbug.drools.console.service.model.kie.*;
|
|||
import org.chtijbug.drools.console.service.util.AppContext;
|
||||
import org.guvnor.rest.client.ProjectResponse;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DeploymentView extends VerticalLayout implements AddLog, View {
|
||||
|
||||
|
||||
final private Grid gridLogging = new Grid();
|
||||
final private Grid<List<String>> gridLogging = new Grid();
|
||||
final private Button buttonDeployProject = new Button("Deploy project");
|
||||
final private KieConfigurationData config;
|
||||
final private BeanItemContainer<ProjectResponse> spaceContainer;
|
||||
private ComboBox<ProjectResponse> spaceSelection;
|
||||
|
||||
final private TextField projectArtifactIDTextField = new TextField("Project Artifact ID");
|
||||
final private TextField projectGroupIDTextField = new TextField("Project Group ID");
|
||||
|
|
@ -36,6 +32,7 @@ public class DeploymentView extends VerticalLayout implements AddLog, View {
|
|||
final private KieServerRepositoryService kieServerRepositoryService;
|
||||
|
||||
final private UserConnected userConnected;
|
||||
private List<String> logs = new ArrayList<>();
|
||||
|
||||
public DeploymentView(UserConnected userConnected) {
|
||||
|
||||
|
|
@ -46,7 +43,7 @@ public class DeploymentView extends VerticalLayout implements AddLog, View {
|
|||
this.userConnected = userConnected;
|
||||
this.config = AppContext.getApplicationContext().getBean(KieConfigurationData.class);
|
||||
Button button = new Button("Refresh");
|
||||
button.addStyleName(Runo.BUTTON_SMALL);
|
||||
// button.addStyleName(Runo.BUTTON_SMALL);
|
||||
|
||||
button.addClickListener((Button.ClickListener) event -> {
|
||||
this.refreshCombo();
|
||||
|
|
@ -56,27 +53,17 @@ public class DeploymentView extends VerticalLayout implements AddLog, View {
|
|||
this.addComponent(button);
|
||||
|
||||
|
||||
spaceContainer =
|
||||
new BeanItemContainer<ProjectResponse>(ProjectResponse.class);
|
||||
|
||||
ComboBox spaceSelection = new ComboBox("Project", spaceContainer);
|
||||
|
||||
spaceSelection.setNullSelectionAllowed(false);
|
||||
|
||||
spaceSelection.setItemCaptionPropertyId("name");
|
||||
|
||||
spaceSelection.setNewItemsAllowed(false);
|
||||
spaceSelection.setImmediate(true);
|
||||
spaceSelection.addListener(new Property.ValueChangeListener() {
|
||||
@Override
|
||||
public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
|
||||
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
|
||||
projectArtifactIDTextField.setValue(response.getName());
|
||||
projectGroupIDTextField.setValue(response.getGroupId());
|
||||
projectVersionTextField.setValue(response.getVersion());
|
||||
refreshList();
|
||||
}
|
||||
spaceSelection = new ComboBox("Project", userConnected.getProjectResponses());
|
||||
spaceSelection.setItemCaptionGenerator(ProjectResponse::getName);
|
||||
spaceSelection.addValueChangeListener(valueChangeEvent -> {
|
||||
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
|
||||
projectArtifactIDTextField.setValue(response.getName());
|
||||
projectGroupIDTextField.setValue(response.getGroupId());
|
||||
projectVersionTextField.setValue(response.getVersion());
|
||||
refreshList();
|
||||
});
|
||||
|
||||
|
||||
this.addComponent(spaceSelection);
|
||||
|
||||
projectArtifactIDTextField.setEnabled(false);
|
||||
|
|
@ -90,7 +77,7 @@ public class DeploymentView extends VerticalLayout implements AddLog, View {
|
|||
|
||||
this.buttonDeployProject.setEnabled(false);
|
||||
this.addComponent(buttonDeployProject);
|
||||
buttonDeployProject.addStyleName(Runo.BUTTON_SMALL);
|
||||
// buttonDeployProject.addStyleName(Runo.BUTTON_SMALL);
|
||||
|
||||
|
||||
buttonDeployProject.addClickListener((Button.ClickListener) event -> {
|
||||
|
|
@ -134,20 +121,17 @@ public class DeploymentView extends VerticalLayout implements AddLog, View {
|
|||
gridLogging.setSizeFull();
|
||||
|
||||
gridLogging.setColumnReorderingAllowed(false);
|
||||
gridLogging.setImmediate(true);
|
||||
|
||||
|
||||
IndexedContainer container = new IndexedContainer();
|
||||
container.addContainerProperty("Message", String.class, "none");
|
||||
// gridLogging.addColumn("Message", new com.vaadin.ui.renderers.TextRenderer()).setCaption("Message");
|
||||
|
||||
|
||||
gridLogging.setContainerDataSource(container);
|
||||
this.addComponent(gridLogging);
|
||||
|
||||
}
|
||||
|
||||
public void refreshCombo() {
|
||||
spaceContainer.removeAllItems();
|
||||
spaceContainer.addAll(userConnected.getProjectResponses());
|
||||
spaceSelection.setItems(userConnected.getProjectResponses());
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -169,23 +153,13 @@ public class DeploymentView extends VerticalLayout implements AddLog, View {
|
|||
}
|
||||
|
||||
public void addRow(String textToAdd) {
|
||||
int nbRows = gridLogging.getContainerDataSource().getItemIds().size() + 1;
|
||||
Item item = gridLogging.getContainerDataSource().addItem(nbRows);
|
||||
if (item != null) {
|
||||
Property<String> nameProperty =
|
||||
item.getItemProperty("Message");
|
||||
|
||||
nameProperty.setValue(textToAdd);
|
||||
gridLogging.setContainerDataSource(gridLogging.getContainerDataSource());
|
||||
} else {
|
||||
System.out.println("null");
|
||||
}
|
||||
logs.add(textToAdd);
|
||||
gridLogging.setItems(logs);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enter(ViewChangeListener.ViewChangeEvent viewChangeEvent) {
|
||||
spaceContainer.removeAllItems();
|
||||
spaceContainer.addAll(userConnected.getProjectResponses());
|
||||
spaceSelection.setItems(userConnected.getProjectResponses());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
package org.chtijbug.drools.console.view;
|
||||
|
||||
import com.vaadin.data.Property;
|
||||
import com.vaadin.data.util.BeanItemContainer;
|
||||
import com.vaadin.data.HasValue;
|
||||
import com.vaadin.navigator.View;
|
||||
import com.vaadin.navigator.ViewChangeListener;
|
||||
import com.vaadin.ui.*;
|
||||
import com.vaadin.ui.themes.Runo;
|
||||
import org.chtijbug.drools.console.AddLog;
|
||||
import org.chtijbug.drools.console.service.KieRepositoryService;
|
||||
import org.chtijbug.drools.console.service.KieServerRepositoryService;
|
||||
|
|
@ -15,14 +13,11 @@ import org.chtijbug.drools.console.service.util.AppContext;
|
|||
import org.chtijbug.guvnor.server.jaxrs.jaxb.Asset;
|
||||
import org.guvnor.rest.client.ProjectResponse;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
public class TableLikeArtefactView extends VerticalLayout implements AddLog, View {
|
||||
|
||||
final private KieConfigurationData config;
|
||||
final private BeanItemContainer<ProjectResponse> spaceContainer =
|
||||
new BeanItemContainer<ProjectResponse>(ProjectResponse.class);
|
||||
;
|
||||
|
||||
|
||||
final private KieRepositoryService kieRepositoryService;
|
||||
|
|
@ -31,11 +26,10 @@ public class TableLikeArtefactView extends VerticalLayout implements AddLog, Vie
|
|||
|
||||
final private UserConnected userConnected;
|
||||
|
||||
final private BeanItemContainer<Asset> assetBeanItemContainer = new BeanItemContainer<>(Asset.class);
|
||||
|
||||
private Grid assetListGrid;
|
||||
|
||||
private Grid<Map<String, String>> assetListGrid;
|
||||
|
||||
private ComboBox<ProjectResponse> spaceSelection;
|
||||
private Button deleteRow;
|
||||
|
||||
private Button editRow;
|
||||
|
|
@ -52,37 +46,29 @@ public class TableLikeArtefactView extends VerticalLayout implements AddLog, Vie
|
|||
|
||||
this.config = AppContext.getApplicationContext().getBean(KieConfigurationData.class);
|
||||
Button button = new Button("Refresh");
|
||||
button.addStyleName(Runo.BUTTON_SMALL);
|
||||
|
||||
button.addClickListener((Button.ClickListener) event -> {
|
||||
this.refreshList();
|
||||
});
|
||||
|
||||
this.addComponent(button);
|
||||
|
||||
|
||||
ComboBox spaceSelection = new ComboBox("Project", spaceContainer);
|
||||
|
||||
spaceSelection.setNullSelectionAllowed(false);
|
||||
|
||||
spaceSelection.setItemCaptionPropertyId("name");
|
||||
|
||||
spaceSelection.setNewItemsAllowed(false);
|
||||
spaceSelection.setImmediate(true);
|
||||
spaceSelection.addListener(new Property.ValueChangeListener() {
|
||||
@Override
|
||||
public void valueChange(Property.ValueChangeEvent valueChangeEvent) {
|
||||
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
|
||||
assetBeanItemContainer.removeAllItems();
|
||||
List<Asset> assets = kieRepositoryService.getListAssets(config.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword(), response.getSpaceName(), response.getName());
|
||||
for (Asset asset : assets) {
|
||||
if (asset.getTitle().endsWith(".template")
|
||||
|| asset.getTitle().endsWith(".gdst")) {
|
||||
assetBeanItemContainer.addBean(asset);
|
||||
}
|
||||
spaceSelection = new ComboBox("Project", userConnected.getProjectResponses());
|
||||
spaceSelection.setItemCaptionGenerator(ProjectResponse::getName);
|
||||
spaceSelection.addValueChangeListener((HasValue.ValueChangeListener<ProjectResponse>) valueChangeEvent -> {
|
||||
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
|
||||
spaceSelection.setSelectedItem(response);
|
||||
assetListGrid.addColumn(hashmap -> hashmap.get("title"));
|
||||
List<Asset> assets = kieRepositoryService.getListAssets(config.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword(), response.getSpaceName(), response.getName());
|
||||
List<Map<String, String>> rows = new ArrayList<>();
|
||||
for (Asset asset : assets) {
|
||||
if (asset.getTitle().endsWith(".template")
|
||||
|| asset.getTitle().endsWith(".gdst")) {
|
||||
Map<String, String> line = new HashMap<>();
|
||||
line.put("title", asset.getTitle());
|
||||
rows.add(line);
|
||||
}
|
||||
|
||||
}
|
||||
assetListGrid.setItems(rows);
|
||||
|
||||
|
||||
});
|
||||
this.addComponent(spaceSelection);
|
||||
HorizontalLayout actionButtons = new HorizontalLayout();
|
||||
|
|
@ -92,32 +78,23 @@ public class TableLikeArtefactView extends VerticalLayout implements AddLog, Vie
|
|||
editRow = new Button("Edit");
|
||||
actionButtons.addComponent(editRow);
|
||||
deleteRow = new Button("Delete");
|
||||
actionButtons.addComponent(deleteRow);
|
||||
assetBeanItemContainer.removeContainerProperty("author");
|
||||
assetBeanItemContainer.removeContainerProperty("binaryLink");
|
||||
assetBeanItemContainer.removeContainerProperty("sourceLink");
|
||||
assetBeanItemContainer.removeContainerProperty("refLink");
|
||||
//assetBeanItemContainer.removeContainerProperty("directory");
|
||||
assetBeanItemContainer.removeContainerProperty("comment");
|
||||
assetBeanItemContainer.removeContainerProperty("content");
|
||||
assetBeanItemContainer.removeContainerProperty("description");
|
||||
assetBeanItemContainer.removeContainerProperty("binaryContentAttachmentFileName");
|
||||
assetBeanItemContainer.removeContainerProperty("published");
|
||||
assetBeanItemContainer.removeContainerProperty("metadata");
|
||||
|
||||
|
||||
assetListGrid = new Grid("List of assets", assetBeanItemContainer);
|
||||
assetListGrid = new Grid("List of assets");
|
||||
assetListGrid.setSelectionMode(Grid.SelectionMode.SINGLE);
|
||||
assetListGrid.setSizeFull();
|
||||
|
||||
this.addComponent(assetListGrid);
|
||||
editRow.addClickListener(clickEvent -> {
|
||||
Asset selected = (Asset) assetListGrid.getSelectedRow();
|
||||
if (selected != null) {
|
||||
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
|
||||
AssetEditView assetEditView = new AssetEditView(userConnected, response.getSpaceName(), response.getName(), selected);
|
||||
UI.getCurrent().getNavigator().addView("Asset-" + selected.getTitle(), assetEditView);
|
||||
UI.getCurrent().getNavigator().navigateTo("Asset-" + selected.getTitle());
|
||||
Set<Map<String, String>> selectedElements = assetListGrid.getSelectedItems();
|
||||
if (selectedElements.toArray().length > 0) {
|
||||
String assetName = ((Map<String, String>) selectedElements.toArray()[0]).get("title");
|
||||
if (assetName != null) {
|
||||
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
|
||||
AssetEditView assetEditView = new AssetEditView(userConnected, response.getSpaceName(), response.getName(), assetName);
|
||||
UI.getCurrent().getNavigator().addView("Asset-" + assetName, assetEditView);
|
||||
UI.getCurrent().getNavigator().navigateTo("Asset-" + assetName);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -125,15 +102,14 @@ public class TableLikeArtefactView extends VerticalLayout implements AddLog, Vie
|
|||
|
||||
|
||||
public void refreshList() {
|
||||
spaceContainer.removeAllItems();
|
||||
spaceContainer.addAll(userConnected.getProjectResponses());
|
||||
spaceSelection.setItems(userConnected.getProjectResponses());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void enter(ViewChangeListener.ViewChangeEvent viewChangeEvent) {
|
||||
spaceContainer.removeAllItems();
|
||||
spaceContainer.addAll(userConnected.getProjectResponses());
|
||||
spaceSelection.setItems(userConnected.getProjectResponses());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
/* This file is automatically managed and will be overwritten from time to time. */
|
||||
/* Do not manually edit this file. */
|
||||
|
||||
/* Import and include this mixin into your project theme to include the addon themes */
|
||||
@mixin addons {
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
|
|
@ -0,0 +1,30 @@
|
|||
// If you edit this file you need to compile the theme. See README.md for details.
|
||||
// Global variable overrides. Must be declared before importing Valo.
|
||||
// Defines the plaintext font size, weight and family. Font size affects general component sizing.
|
||||
//$v-font-size: 16px;
|
||||
//$v-font-weight: 300;
|
||||
//$v-font-family: "Open Sans", sans-serif;
|
||||
// Defines the border used by all components.
|
||||
//$v-border: 1px solid (v-shade 0.7);
|
||||
//$v-border-radius: 4px;
|
||||
// Affects the color of some component elements, e.g Button, Panel title, etc
|
||||
//$v-background-color: hsl(210, 0%, 98%);
|
||||
// Affects the color of content areas, e.g Panel and Window content, TextField input etc
|
||||
//$v-app-background-color: $v-background-color;
|
||||
// Affects the visual appearance of all components
|
||||
//$v-gradient: v-linear 8%;
|
||||
//$v-bevel-depth: 30%;
|
||||
//$v-shadow-opacity: 5%;
|
||||
// Defines colors for indicating status (focus, success, failure)
|
||||
//$v-focus-color: valo-focus-color(); // Calculates a suitable color automatically
|
||||
//$v-friendly-color: #2c9720;
|
||||
//$v-error-indicator-color: #ed473b;
|
||||
// For more information, see: https://vaadin.com/book/-/page/themes.valo.html
|
||||
// Example variants can be copy/pasted from https://vaadin.com/wiki/-/wiki/Main/Valo+Examples
|
||||
@import "../valo/valo.scss";
|
||||
|
||||
@mixin mytheme {
|
||||
@include valo;
|
||||
|
||||
// Insert your own theme rules here
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
@import "mytheme.scss";
|
||||
@import "addons.scss";
|
||||
|
||||
// This file prefixes all rules with the theme name to avoid causing conflicts with other themes.
|
||||
// The actual styles should be defined in mytheme.scss
|
||||
|
||||
.mytheme {
|
||||
@include addons;
|
||||
@include mytheme;
|
||||
|
||||
}
|
||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue