remove usage of vaadin table => grid instead

Vaadin 8++
This commit is contained in:
Nicolas Héron 2018-12-17 14:33:41 +01:00
commit 9201686d7b
11 changed files with 241 additions and 178 deletions

View file

@ -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>

View file

@ -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")

View file

@ -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);

View file

@ -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;
}

View file

@ -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);
}

View file

@ -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) {
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());
}
}

View file

@ -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) {
spaceSelection = new ComboBox("Project", userConnected.getProjectResponses());
spaceSelection.setItemCaptionGenerator(ProjectResponse::getName);
spaceSelection.addValueChangeListener((HasValue.ValueChangeListener<ProjectResponse>) valueChangeEvent -> {
ProjectResponse response = (ProjectResponse) spaceSelection.getValue();
assetBeanItemContainer.removeAllItems();
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")) {
assetBeanItemContainer.addBean(asset);
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) {
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(), selected);
UI.getCurrent().getNavigator().addView("Asset-" + selected.getTitle(), assetEditView);
UI.getCurrent().getNavigator().navigateTo("Asset-" + selected.getTitle());
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

View file

@ -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 {
}

View file

@ -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
}

View file

@ -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;
}