premiere modif front
This commit is contained in:
parent
f4249dc42e
commit
157b64d075
39 changed files with 1721 additions and 97 deletions
11
configuration/kie-server/javaOpts.txt
Normal file
11
configuration/kie-server/javaOpts.txt
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
-DM2_HOME=/Users/nheron/m2_kieserver
|
||||||
|
-Dorg.chtijbug.server.tracedir=/Users/nheron/kie-base-jbpm-710/trace
|
||||||
|
-Dorg.appformer.m2repo.url=http://localhost:8080/kie-wb/maven2
|
||||||
|
-Dorg.uberfire.nio.git.dir=/Users/nheron/kie-base-jbpm-710/niodir-kieserver
|
||||||
|
-Dkie.maven.settings.custom=/Users/nheron/m2_kieserver/settings.xml
|
||||||
|
-Dorg.kie.server.repo=/Users/nheron/kie-base-jbpm-710/niodir-kieserver
|
||||||
|
-Dfile.encoding=UTF-8
|
||||||
|
-Duser.language=fr
|
||||||
|
-Duser.country=FR
|
||||||
|
-Dorg.kie.server.id=server1
|
||||||
|
-Dorg.chtijbug.server.sftpPort=9080
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
package org.chtijbug.drools.console;
|
|
||||||
|
|
||||||
|
|
||||||
import com.vaadin.flow.component.button.Button;
|
|
||||||
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
|
||||||
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
|
||||||
import com.vaadin.flow.component.textfield.PasswordField;
|
|
||||||
import com.vaadin.flow.component.textfield.TextField;
|
|
||||||
import com.vaadin.flow.router.Route;
|
|
||||||
import org.chtijbug.drools.console.service.KieRepositoryService;
|
|
||||||
import org.chtijbug.drools.console.service.UserConnectedService;
|
|
||||||
import org.chtijbug.drools.console.service.model.UserConnected;
|
|
||||||
import org.chtijbug.drools.console.service.model.kie.KieConfigurationData;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
|
||||||
|
|
||||||
@Route("")
|
|
||||||
public class WelcomeView extends DroolsAdminConsoleMainView {
|
|
||||||
|
|
||||||
private UserConnected userConnected;
|
|
||||||
private TextField userNameTextField;
|
|
||||||
private PasswordField userpasswdTextField;
|
|
||||||
private Button loginButton;
|
|
||||||
private Button logoutButton;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private KieRepositoryService kieRepositoryService;
|
|
||||||
@Autowired
|
|
||||||
private KieConfigurationData configKie;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private UserConnectedService userConnectedService;
|
|
||||||
|
|
||||||
public WelcomeView() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostConstruct
|
|
||||||
public void buildUI() {
|
|
||||||
|
|
||||||
userConnected = new UserConnected();
|
|
||||||
VerticalLayout verticalLayout = new VerticalLayout();
|
|
||||||
HorizontalLayout userHorizontal = new HorizontalLayout();
|
|
||||||
verticalLayout.add(userHorizontal);
|
|
||||||
TextField urlTextField = new TextField("Kie-Wb url");
|
|
||||||
urlTextField.setValue(configKie.getKiewbUrl());
|
|
||||||
urlTextField.setMaxLength(200);
|
|
||||||
userHorizontal.add(urlTextField);
|
|
||||||
userNameTextField = new TextField("User name");
|
|
||||||
userNameTextField.setValue(configKie.getUserName());
|
|
||||||
userConnected.setUserName(configKie.getUserName());
|
|
||||||
userNameTextField.addValueChangeListener(valueChangeEvent -> userConnected.setUserName(valueChangeEvent.getValue()));
|
|
||||||
|
|
||||||
userHorizontal.add(userNameTextField);
|
|
||||||
userpasswdTextField = new PasswordField("Password");
|
|
||||||
userpasswdTextField.setValue(configKie.getPassword());
|
|
||||||
userConnected.setUserPassword(configKie.getPassword());
|
|
||||||
userpasswdTextField.addValueChangeListener(valueChangeEvent -> userConnected.setUserPassword(valueChangeEvent.getValue()));
|
|
||||||
userHorizontal.add(userpasswdTextField);
|
|
||||||
loginButton = new Button("login");
|
|
||||||
userHorizontal.add(loginButton);
|
|
||||||
logoutButton = new Button("logout");
|
|
||||||
logoutButton.setEnabled(false);
|
|
||||||
userHorizontal.add(logoutButton);
|
|
||||||
|
|
||||||
loginButton.addClickListener(event -> {
|
|
||||||
UserConnected connected = kieRepositoryService.login(this.configKie.getKiewbUrl(), userConnected.getUserName(), userConnected.getUserPassword());
|
|
||||||
userConnected.getProjectResponses().clear();
|
|
||||||
userConnected.getProjectResponses().addAll(connected.getProjectResponses());
|
|
||||||
userConnected.getRoles().clear();
|
|
||||||
userConnected.getRoles().addAll(connected.getRoles());
|
|
||||||
loginButton.setEnabled(false);
|
|
||||||
logoutButton.setEnabled(true);
|
|
||||||
userConnected.setConnected(true);
|
|
||||||
userConnectedService.addToSession(userConnected);
|
|
||||||
});
|
|
||||||
logoutButton.addClickListener(event -> {
|
|
||||||
userConnected.getRoles().clear();
|
|
||||||
userConnected.getProjectResponses().clear();
|
|
||||||
userConnected.setConnected(false);
|
|
||||||
loginButton.setEnabled(true);
|
|
||||||
logoutButton.setEnabled(false);
|
|
||||||
userConnectedService.addToSession(null);
|
|
||||||
});
|
|
||||||
setActionView(verticalLayout);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
@ -20,6 +20,10 @@ public class UserConnectedService {
|
||||||
VaadinSession.getCurrent().setAttribute(USER, userConnected);
|
VaadinSession.getCurrent().setAttribute(USER, userConnected);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void disconnect(){
|
||||||
|
VaadinSession.getCurrent().setAttribute(USER, null);
|
||||||
|
}
|
||||||
|
|
||||||
public void addAssetToSession(String asset) {
|
public void addAssetToSession(String asset) {
|
||||||
VaadinSession.getCurrent().setAttribute(ASSET, asset);
|
VaadinSession.getCurrent().setAttribute(ASSET, asset);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.chtijbug.drools.console.util;
|
||||||
|
|
||||||
|
import com.vaadin.flow.data.validator.RegexpValidator;
|
||||||
|
|
||||||
|
public class PasswordValidator extends RegexpValidator {
|
||||||
|
|
||||||
|
private static final String PATTERN = "[a-zA-Z0-9_@./*#&+-]{4,30}";
|
||||||
|
|
||||||
|
public PasswordValidator(String errorMessage) {
|
||||||
|
super(errorMessage, "[a-zA-Z0-9_@./#*&+-]{4,30}", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package org.chtijbug.drools.console.util;
|
||||||
|
|
||||||
|
import com.vaadin.flow.data.validator.RegexpValidator;
|
||||||
|
|
||||||
|
public class hostnameValidator extends RegexpValidator {
|
||||||
|
|
||||||
|
private static final String PATTERN ="(^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$|^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\\-]*[A-Za-z0-9])$)";
|
||||||
|
|
||||||
|
public hostnameValidator(String errorMessage) {
|
||||||
|
super(errorMessage, PATTERN, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.ComponentPerso;
|
||||||
|
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.combobox.ComboBox;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.icon.Icon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
|
||||||
|
@StyleSheet("css/composantperso/textFieldPerso.css")
|
||||||
|
public class ComboBoxPerso<T> extends HorizontalLayout {
|
||||||
|
|
||||||
|
|
||||||
|
ComboBox<T> comboBox;
|
||||||
|
|
||||||
|
public ComboBoxPerso (String caption, Icon icon){
|
||||||
|
this.setMargin(false);
|
||||||
|
this.setSpacing(false);
|
||||||
|
|
||||||
|
setClassName("horizontal-content");
|
||||||
|
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("content-icon");
|
||||||
|
|
||||||
|
icon.setClassName("passwordField-perso-icon");
|
||||||
|
verticalLayout.add(icon);
|
||||||
|
|
||||||
|
comboBox =new ComboBox<>(caption);
|
||||||
|
comboBox.setClassName("horizontal-content");
|
||||||
|
this.add(verticalLayout);
|
||||||
|
this.add(comboBox);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ComboBox<T> getComboBox() {
|
||||||
|
return comboBox;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setComboBox(ComboBox<T> comboBox) {
|
||||||
|
this.comboBox = comboBox;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.ComponentPerso;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.datepicker.DatePicker;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.icon.Icon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
|
||||||
|
@StyleSheet("css/composantperso/datePickerPerso.css")
|
||||||
|
public class DatePickerPerso extends HorizontalLayout {
|
||||||
|
|
||||||
|
DatePicker datepicker;
|
||||||
|
|
||||||
|
public DatePickerPerso (String caption, Icon icon){
|
||||||
|
this.setMargin(false);
|
||||||
|
this.setSpacing(false);
|
||||||
|
|
||||||
|
setClassName("horizontal-content");
|
||||||
|
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("content-icon");
|
||||||
|
|
||||||
|
icon.setClassName("datepicker-perso-icon");
|
||||||
|
verticalLayout.add(icon);
|
||||||
|
|
||||||
|
datepicker =new DatePicker(caption);
|
||||||
|
datepicker.setClassName("horizontal-content");
|
||||||
|
this.add(verticalLayout);
|
||||||
|
this.add(datepicker);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DatePicker getDatepicker() {
|
||||||
|
return datepicker;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,39 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.ComponentPerso;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.icon.Icon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.component.textfield.PasswordField;
|
||||||
|
|
||||||
|
@StyleSheet("css/composantperso/textFieldPerso.css")
|
||||||
|
public class PasswordFieldPerso extends HorizontalLayout {
|
||||||
|
|
||||||
|
private PasswordField passwordField;
|
||||||
|
|
||||||
|
public PasswordFieldPerso (String caption, Icon icon){
|
||||||
|
this.setMargin(false);
|
||||||
|
this.setSpacing(false);
|
||||||
|
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("content-icon");
|
||||||
|
|
||||||
|
icon.setClassName("passwordField-perso-icon");
|
||||||
|
verticalLayout.add(icon);
|
||||||
|
|
||||||
|
passwordField =new PasswordField(caption);
|
||||||
|
passwordField.setClassName("horizontal-content");
|
||||||
|
this.add(verticalLayout);
|
||||||
|
this.add(passwordField);
|
||||||
|
passwordField.setRequired(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public PasswordField getPasswordField() {
|
||||||
|
return passwordField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPasswordField(PasswordField passwordField) {
|
||||||
|
this.passwordField = passwordField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.ComponentPerso;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.icon.Icon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.component.textfield.TextField;
|
||||||
|
|
||||||
|
@StyleSheet("css/composantperso/textFieldPerso.css")
|
||||||
|
public class TextFieldPerso extends HorizontalLayout {
|
||||||
|
|
||||||
|
TextField textField;
|
||||||
|
|
||||||
|
public TextFieldPerso (String caption,String placeHolder, Icon icon){
|
||||||
|
this.setMargin(false);
|
||||||
|
this.setSpacing(false);
|
||||||
|
|
||||||
|
setClassName("content-perso-field");
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("content-icon");
|
||||||
|
|
||||||
|
icon.setClassName("passwordField-perso-icon");
|
||||||
|
verticalLayout.add(icon);
|
||||||
|
|
||||||
|
textField=new TextField(caption,placeHolder);
|
||||||
|
textField.setClassName("horizontal-content");
|
||||||
|
textField.setRequired(true);
|
||||||
|
this.add(verticalLayout);
|
||||||
|
this.add(textField);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextField getTextField() {
|
||||||
|
return textField;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTextField(TextField textField) {
|
||||||
|
this.textField = textField;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,105 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.Squelette;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.leftMenu.LeftMenuGlobal;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.menu.MenuPrincipal;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.menu.MenuScondaireDeployement;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.menu.MenuSecondaireInfoUser;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class SqueletteComposant extends VerticalLayout {
|
||||||
|
|
||||||
|
private MenuPrincipal menuPrincipal;
|
||||||
|
|
||||||
|
private LeftMenuGlobal leftMenuGlobal;
|
||||||
|
|
||||||
|
private MenuScondaireDeployement menuScondaireDeployement;
|
||||||
|
|
||||||
|
private MenuSecondaireInfoUser menuSecondaireInfoUser;
|
||||||
|
|
||||||
|
private VerticalLayout content;
|
||||||
|
|
||||||
|
private VerticalLayout infoPage;
|
||||||
|
|
||||||
|
public SqueletteComposant(){
|
||||||
|
setClassName("squelette-composant-contentAll");
|
||||||
|
|
||||||
|
menuPrincipal=new MenuPrincipal(this);
|
||||||
|
add(menuPrincipal);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
HorizontalLayout horizontalLayout=new HorizontalLayout();
|
||||||
|
horizontalLayout.setClassName("squelette-component-horizontal");
|
||||||
|
add(horizontalLayout);
|
||||||
|
|
||||||
|
content=new VerticalLayout();
|
||||||
|
content.setClassName("squelette-component-content");
|
||||||
|
|
||||||
|
menuScondaireDeployement=new MenuScondaireDeployement();
|
||||||
|
content.add(menuScondaireDeployement);
|
||||||
|
|
||||||
|
menuSecondaireInfoUser=new MenuSecondaireInfoUser();
|
||||||
|
content.add(menuSecondaireInfoUser);
|
||||||
|
|
||||||
|
infoPage=new VerticalLayout();
|
||||||
|
infoPage.setClassName("squelette-component-infoPage");
|
||||||
|
content.add(infoPage);
|
||||||
|
|
||||||
|
leftMenuGlobal=new LeftMenuGlobal();
|
||||||
|
horizontalLayout.add(leftMenuGlobal);
|
||||||
|
|
||||||
|
horizontalLayout.add(content);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MenuPrincipal getMenuPrincipal() {
|
||||||
|
return menuPrincipal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMenuPrincipal(MenuPrincipal menuPrincipal) {
|
||||||
|
this.menuPrincipal = menuPrincipal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LeftMenuGlobal getLeftMenuGlobal() {
|
||||||
|
return leftMenuGlobal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLeftMenuGlobal(LeftMenuGlobal leftMenuGlobal) {
|
||||||
|
this.leftMenuGlobal = leftMenuGlobal;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MenuScondaireDeployement getMenuScondaireDeployement() {
|
||||||
|
return menuScondaireDeployement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMenuScondaireDeployement(MenuScondaireDeployement menuScondaireDeployement) {
|
||||||
|
this.menuScondaireDeployement = menuScondaireDeployement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MenuSecondaireInfoUser getMenuSecondaireInfoUser() {
|
||||||
|
return menuSecondaireInfoUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMenuSecondaireInfoUser(MenuSecondaireInfoUser menuSecondaireInfoUser) {
|
||||||
|
this.menuSecondaireInfoUser = menuSecondaireInfoUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VerticalLayout getContent() {
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(VerticalLayout content) {
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public VerticalLayout getInfoPage() {
|
||||||
|
return infoPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfoPage(VerticalLayout infoPage) {
|
||||||
|
this.infoPage = infoPage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,110 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.leftMenu;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.html.Image;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.component.html.Label;
|
||||||
|
import com.vaadin.flow.server.InputStreamFactory;
|
||||||
|
import com.vaadin.flow.server.StreamResource;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class InformationStructure extends VerticalLayout {
|
||||||
|
|
||||||
|
private Label nomPage;
|
||||||
|
|
||||||
|
private Label numberProject;
|
||||||
|
|
||||||
|
private Label numberKieWb;
|
||||||
|
|
||||||
|
private Label numberKieServer;
|
||||||
|
|
||||||
|
private Image logo;
|
||||||
|
|
||||||
|
private String strProject="Number of projects : ";
|
||||||
|
|
||||||
|
private String strKieWb="Number of kie-workbench : ";
|
||||||
|
|
||||||
|
private String strKieServer="Number of Kie-Server : ";
|
||||||
|
|
||||||
|
public InformationStructure(){
|
||||||
|
|
||||||
|
setClassName("leftMenu-global-infoStructure-content");
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("leftMenu-global-infoStrcutre-contentTitre");
|
||||||
|
add(verticalLayout);
|
||||||
|
|
||||||
|
nomPage=new Label("Accueil");
|
||||||
|
nomPage.setClassName("leftMenu-global-inforStructure-titre");
|
||||||
|
verticalLayout.add(nomPage);
|
||||||
|
|
||||||
|
InputStreamFactory inputStreamFactory=new InputStreamFactory() {
|
||||||
|
@Override
|
||||||
|
public InputStream createInputStream() {
|
||||||
|
return getClass().getResourceAsStream("/images/book.png");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
StreamResource str=new StreamResource("logo",inputStreamFactory);
|
||||||
|
|
||||||
|
logo=new Image(str,"");
|
||||||
|
logo.setClassName("leftMenu-global-inforStructure-logo");
|
||||||
|
add(logo);
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout1=new VerticalLayout();
|
||||||
|
verticalLayout1.setClassName("leftMenu-global-inforStructure-content-label");
|
||||||
|
add(verticalLayout1);
|
||||||
|
|
||||||
|
numberKieServer=new Label(strKieServer+"0");
|
||||||
|
numberKieServer.setClassName("leftMenu-global-inforStructure-label");
|
||||||
|
verticalLayout1.add(numberKieServer);
|
||||||
|
|
||||||
|
numberKieWb=new Label(strKieWb+"0");
|
||||||
|
numberKieWb.setClassName("leftMenu-global-inforStructure-label");
|
||||||
|
verticalLayout1.add(numberKieWb);
|
||||||
|
|
||||||
|
numberProject=new Label(strProject+"0");
|
||||||
|
numberProject.setClassName("leftMenu-global-inforStructure-label");
|
||||||
|
verticalLayout1.add(numberProject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void actualiseKieWb(Integer numberOfKieWb){
|
||||||
|
numberKieWb.setText(strKieWb+numberOfKieWb);
|
||||||
|
}
|
||||||
|
public void actualiseKieServer(Integer numberOfKieServer){
|
||||||
|
numberKieServer.setText(strKieServer+numberOfKieServer);
|
||||||
|
}
|
||||||
|
public void actualiseProject(Integer numberOfProject){
|
||||||
|
numberProject.setText(strProject+numberOfProject);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getNomPage() {
|
||||||
|
return nomPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNomPage(Label nomPage) {
|
||||||
|
this.nomPage = nomPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getNumberProject() {
|
||||||
|
return numberProject;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getNumberKieWb() {
|
||||||
|
return numberKieWb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getNumberKieServer() {
|
||||||
|
return numberKieServer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Image getLogo() {
|
||||||
|
return logo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogo(Image logo) {
|
||||||
|
this.logo = logo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,100 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.leftMenu;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.html.Anchor;
|
||||||
|
import com.vaadin.flow.component.icon.Icon;
|
||||||
|
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class LeftMenuGlobal extends VerticalLayout {
|
||||||
|
|
||||||
|
private Button actionOne;
|
||||||
|
|
||||||
|
private Button actionTwo;
|
||||||
|
|
||||||
|
private Boolean visibility=true;
|
||||||
|
|
||||||
|
|
||||||
|
public LeftMenuGlobal(){
|
||||||
|
|
||||||
|
setClassName("leftMenu-global-content");
|
||||||
|
|
||||||
|
InformationStructure informationStructure=new InformationStructure();
|
||||||
|
add(informationStructure);
|
||||||
|
|
||||||
|
VerticalLayout verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("leftMenu-global-action");
|
||||||
|
add(verticalLayout);
|
||||||
|
|
||||||
|
actionOne=new Button("ActionOne", VaadinIcon.TOOLS.create());
|
||||||
|
actionOne.setClassName("leftMenu-global-button");
|
||||||
|
verticalLayout.add(actionOne);
|
||||||
|
actionOne.addClickListener(buttonClickEvent -> {
|
||||||
|
active(actionOne);
|
||||||
|
});
|
||||||
|
|
||||||
|
actionTwo=new Button("ActionTwo",VaadinIcon.TOOLS.create());
|
||||||
|
actionTwo.setClassName("leftMenu-global-button");
|
||||||
|
verticalLayout.add(actionTwo);
|
||||||
|
actionTwo.addClickListener(buttonClickEvent -> {
|
||||||
|
active(actionTwo);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
HorizontalLayout horizontalLayout=new HorizontalLayout();
|
||||||
|
horizontalLayout.setClassName("leftMenu-global-infoEntreprise");
|
||||||
|
add(horizontalLayout);
|
||||||
|
|
||||||
|
Anchor aproposFooter=new Anchor("https://pymma-software.heron-software.com/","A propos");
|
||||||
|
aproposFooter.setClassName("footer-button");
|
||||||
|
horizontalLayout.add(aproposFooter);
|
||||||
|
|
||||||
|
Anchor contactFooter=new Anchor("https://pymma-software.heron-software.com/contact","Contact");
|
||||||
|
contactFooter.setClassName("footer-button");
|
||||||
|
horizontalLayout.add(contactFooter);
|
||||||
|
|
||||||
|
}
|
||||||
|
private boolean isActive(Button button){
|
||||||
|
return button.getClassNames().contains("active");
|
||||||
|
}
|
||||||
|
private void removeActive(Button button) {
|
||||||
|
|
||||||
|
if(button.getClassNames().contains("active")){
|
||||||
|
button.getClassNames().remove("active");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void active(Button button){
|
||||||
|
removeActive(actionOne);
|
||||||
|
removeActive(actionTwo);
|
||||||
|
|
||||||
|
button.getClassNames().add("active");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getActionOne() {
|
||||||
|
return actionOne;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setActionOne(Button actionOne) {
|
||||||
|
this.actionOne = actionOne;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getActionTwo() {
|
||||||
|
return actionTwo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setActionTwo(Button actionTwo) {
|
||||||
|
this.actionTwo = actionTwo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Boolean getVisibility() {
|
||||||
|
return visibility;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVisibility(Boolean visibility) {
|
||||||
|
this.visibility = visibility;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,175 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.login;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.html.Label;
|
||||||
|
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.data.binder.Binder;
|
||||||
|
import com.vaadin.flow.data.value.ValueChangeMode;
|
||||||
|
import org.chtijbug.drools.console.service.KieRepositoryService;
|
||||||
|
import org.chtijbug.drools.console.service.UserConnectedService;
|
||||||
|
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.drools.console.util.PasswordValidator;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.ComponentPerso.PasswordFieldPerso;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.ComponentPerso.TextFieldPerso;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class FormulaireComposant extends VerticalLayout {
|
||||||
|
|
||||||
|
//Composant
|
||||||
|
|
||||||
|
private Label title;
|
||||||
|
|
||||||
|
private TextFieldPerso username;
|
||||||
|
|
||||||
|
private PasswordFieldPerso password;
|
||||||
|
|
||||||
|
private Button login;
|
||||||
|
|
||||||
|
private Button forgotPassword;
|
||||||
|
|
||||||
|
//METIER
|
||||||
|
|
||||||
|
private Binder<UserConnected> userConnectedBinder;
|
||||||
|
|
||||||
|
private KieRepositoryService kieRepositoryService;
|
||||||
|
|
||||||
|
private KieConfigurationData configKie;
|
||||||
|
|
||||||
|
private UserConnectedService userConnectedService;
|
||||||
|
|
||||||
|
public FormulaireComposant(){
|
||||||
|
|
||||||
|
kieRepositoryService= AppContext.getApplicationContext().getBean(KieRepositoryService.class);
|
||||||
|
configKie= AppContext.getApplicationContext().getBean(KieConfigurationData.class);
|
||||||
|
userConnectedService=AppContext.getApplicationContext().getBean(UserConnectedService.class);
|
||||||
|
|
||||||
|
setClassName("login-application-layout");
|
||||||
|
|
||||||
|
userConnectedBinder=new Binder<>();
|
||||||
|
userConnectedBinder.setBean(new UserConnected());
|
||||||
|
|
||||||
|
//FORMULAIRE
|
||||||
|
|
||||||
|
title=new Label("Sign in ");
|
||||||
|
title.setClassName("login-application-title");
|
||||||
|
add(title);
|
||||||
|
|
||||||
|
username=new TextFieldPerso("Username","", VaadinIcon.USER.create());
|
||||||
|
username.getTextField().setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
|
username.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> verifyValidity());
|
||||||
|
userConnectedBinder.forField(username.getTextField())
|
||||||
|
.bind(
|
||||||
|
userConnected -> userConnected.getUserName(),
|
||||||
|
(userConnected, s) -> userConnected.setUserName(s));
|
||||||
|
|
||||||
|
add(username);
|
||||||
|
|
||||||
|
password=new PasswordFieldPerso("Password", VaadinIcon.PASSWORD.create());
|
||||||
|
password.getPasswordField().setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
|
password.getPasswordField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> verifyValidity());
|
||||||
|
userConnectedBinder.forField(password.getPasswordField())
|
||||||
|
.withValidator(new PasswordValidator("Ce n'est pas un password valide"))
|
||||||
|
.bind(
|
||||||
|
userConnected -> userConnected.getUserPassword(),
|
||||||
|
(userConnected, s) -> userConnected.setUserPassword(s));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
add(password);
|
||||||
|
|
||||||
|
forgotPassword=new Button("Forgot password?");
|
||||||
|
forgotPassword.setClassName("footer-button");
|
||||||
|
add(forgotPassword);
|
||||||
|
|
||||||
|
login=new Button("Connexion");
|
||||||
|
login.setEnabled(false);
|
||||||
|
login.setClassName("login-application-connexion");
|
||||||
|
login.addClickListener(buttonClickEvent ->{
|
||||||
|
Boolean test=connexion();
|
||||||
|
|
||||||
|
if(test){
|
||||||
|
getUI().get().navigate("accueil");
|
||||||
|
}else {
|
||||||
|
login.setEnabled(false);
|
||||||
|
username.getTextField().setValue("");
|
||||||
|
password.getPasswordField().setValue("");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
add(login);
|
||||||
|
|
||||||
|
password.getPasswordField().setValue(configKie.getPassword());
|
||||||
|
username.getTextField().setValue(configKie.getUserName());
|
||||||
|
|
||||||
|
}
|
||||||
|
public void verifyValidity(){
|
||||||
|
if(!username.getTextField().isInvalid()&&username.getTextField().getValue()!=null&&!username.getTextField().isEmpty()&&
|
||||||
|
!password.getPasswordField().isInvalid()&&password.getPasswordField().getValue()!=null&&!password.getPasswordField().isEmpty()){
|
||||||
|
login.setEnabled(true);
|
||||||
|
}else {
|
||||||
|
login.setEnabled(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean connexion(){
|
||||||
|
UserConnected connected = kieRepositoryService.login(
|
||||||
|
configKie.getKiewbUrl(),
|
||||||
|
userConnectedBinder.getBean().getUserName(),
|
||||||
|
userConnectedBinder.getBean().getUserPassword());
|
||||||
|
|
||||||
|
if(connected!=null) {
|
||||||
|
connected.getProjectResponses().clear();
|
||||||
|
connected.getProjectResponses().addAll(connected.getProjectResponses());
|
||||||
|
connected.getRoles().clear();
|
||||||
|
connected.getRoles().addAll(connected.getRoles());
|
||||||
|
connected.setConnected(true);
|
||||||
|
userConnectedService.addToSession(connected);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(Label title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextFieldPerso getUsername() {
|
||||||
|
return username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsername(TextFieldPerso username) {
|
||||||
|
this.username = username;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PasswordFieldPerso getPassword() {
|
||||||
|
return password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPassword(PasswordFieldPerso password) {
|
||||||
|
this.password = password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getLogin() {
|
||||||
|
return login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogin(Button login) {
|
||||||
|
this.login = login;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getForgotPassword() {
|
||||||
|
return forgotPassword;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setForgotPassword(Button forgotPassword) {
|
||||||
|
this.forgotPassword = forgotPassword;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.login;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.component.html.Label;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class FormulaireInfoComposant extends VerticalLayout {
|
||||||
|
|
||||||
|
public Label title;
|
||||||
|
|
||||||
|
public Label paragraphe;
|
||||||
|
|
||||||
|
public FormulaireInfoComposant(){
|
||||||
|
|
||||||
|
setClassName("login-application-layout-FormulaireInfo");
|
||||||
|
|
||||||
|
title=new Label("How to connect?");
|
||||||
|
title.setClassName("login-application-layout-FormulaireInfo-Title");
|
||||||
|
add(title);
|
||||||
|
|
||||||
|
paragraphe=new Label("To access this application, make sure you already have an account on the kie-workbench");
|
||||||
|
paragraphe.setClassName("login-application-layout-FormulaireInfo-Paragraphe");
|
||||||
|
add(paragraphe);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getTitle() {
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTitle(Label title) {
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Label getParagraphe() {
|
||||||
|
return paragraphe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setParagraphe(Label paragraphe) {
|
||||||
|
this.paragraphe = paragraphe;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.login;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class LoginComponent extends HorizontalLayout {
|
||||||
|
|
||||||
|
private FormulaireComposant layoutLeft;
|
||||||
|
|
||||||
|
private FormulaireInfoComposant layoutRight;
|
||||||
|
|
||||||
|
public LoginComponent(){
|
||||||
|
|
||||||
|
setClassName("login-formulaire-globalLayout");
|
||||||
|
|
||||||
|
layoutLeft=new FormulaireComposant();
|
||||||
|
layoutRight=new FormulaireInfoComposant();
|
||||||
|
|
||||||
|
add(layoutLeft);
|
||||||
|
add(layoutRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
public FormulaireComposant getLayoutLeft() {
|
||||||
|
return layoutLeft;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLayoutLeft(FormulaireComposant layoutLeft) {
|
||||||
|
this.layoutLeft = layoutLeft;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FormulaireInfoComposant getLayoutRight() {
|
||||||
|
return layoutRight;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLayoutRight(FormulaireInfoComposant layoutRight) {
|
||||||
|
this.layoutRight = layoutRight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.login;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.checkbox.Checkbox;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.component.html.Label;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class TextInfoComponent extends VerticalLayout {
|
||||||
|
|
||||||
|
private Label title;
|
||||||
|
|
||||||
|
private HorizontalLayout separator;
|
||||||
|
|
||||||
|
|
||||||
|
public TextInfoComponent(){
|
||||||
|
|
||||||
|
setClassName("login-layout-textInfo");
|
||||||
|
|
||||||
|
title=new Label("Drools kie-platform");
|
||||||
|
title.setClassName("login-title");
|
||||||
|
add(title);
|
||||||
|
|
||||||
|
separator=new HorizontalLayout();
|
||||||
|
separator.setClassName("separator");
|
||||||
|
add(separator);
|
||||||
|
|
||||||
|
add(row("Dynamic management of kie-servers"));
|
||||||
|
add(row("Facilitates the process drools as a whole"));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public HorizontalLayout row(String text){
|
||||||
|
|
||||||
|
HorizontalLayout horizontalLayout=new HorizontalLayout();
|
||||||
|
horizontalLayout.setClassName("login-textInfo-layoutContent");
|
||||||
|
|
||||||
|
Checkbox checkbox=new Checkbox();
|
||||||
|
checkbox.setValue(true);
|
||||||
|
checkbox.setEnabled(false);
|
||||||
|
horizontalLayout.add(checkbox);
|
||||||
|
checkbox.setClassName("login-textInfo-button");
|
||||||
|
|
||||||
|
Label label=new Label(text);
|
||||||
|
horizontalLayout.add(label);
|
||||||
|
label.setClassName("login-textInfo-paragraph");
|
||||||
|
|
||||||
|
return horizontalLayout;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,153 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.menu;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.html.Image;
|
||||||
|
import com.vaadin.flow.component.icon.Icon;
|
||||||
|
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.server.InputStreamFactory;
|
||||||
|
import com.vaadin.flow.server.StreamResource;
|
||||||
|
import org.chtijbug.drools.console.service.UserConnectedService;
|
||||||
|
import org.chtijbug.drools.console.service.util.AppContext;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class MenuPrincipal extends HorizontalLayout {
|
||||||
|
|
||||||
|
//COMPONENT
|
||||||
|
|
||||||
|
private Image logo;
|
||||||
|
|
||||||
|
private Button deployement;
|
||||||
|
|
||||||
|
private Button infoUser;
|
||||||
|
|
||||||
|
private Button hamburger;
|
||||||
|
|
||||||
|
//METIER
|
||||||
|
|
||||||
|
private UserConnectedService userConnectedService;
|
||||||
|
|
||||||
|
public MenuPrincipal(SqueletteComposant squeletteComposant){
|
||||||
|
|
||||||
|
userConnectedService= AppContext.getApplicationContext().getBean(UserConnectedService.class);
|
||||||
|
|
||||||
|
addClassName("menu-principal-menubar-content");
|
||||||
|
|
||||||
|
InputStreamFactory inputStreamFactory=new InputStreamFactory() {
|
||||||
|
@Override
|
||||||
|
public InputStream createInputStream() {
|
||||||
|
return getClass().getResourceAsStream("/images/pymma.png");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
StreamResource str=new StreamResource("logo",inputStreamFactory);
|
||||||
|
|
||||||
|
logo=new Image(str,"");
|
||||||
|
logo.setClassName("menu-principal-logoPresentation");
|
||||||
|
|
||||||
|
Icon icon=VaadinIcon.MENU.create();
|
||||||
|
icon.setClassName("icon-menuPrincipal");
|
||||||
|
|
||||||
|
|
||||||
|
hamburger=new Button("",icon);
|
||||||
|
hamburger.setClassName("hamburger");
|
||||||
|
add(hamburger);
|
||||||
|
|
||||||
|
hamburger.addClickListener(buttonClickEvent -> {
|
||||||
|
if(squeletteComposant.getLeftMenuGlobal().getVisibility()) {
|
||||||
|
squeletteComposant.getLeftMenuGlobal().setVisible(false);
|
||||||
|
squeletteComposant.getLeftMenuGlobal().setVisibility(false);
|
||||||
|
}else {
|
||||||
|
squeletteComposant.getLeftMenuGlobal().setVisible(true);
|
||||||
|
squeletteComposant.getLeftMenuGlobal().setVisibility(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
deployement=new Button("Déployment");
|
||||||
|
deployement.setClassName("menu-principal-button");
|
||||||
|
add(deployement);
|
||||||
|
deployement.addClickListener(buttonClickEvent -> {
|
||||||
|
|
||||||
|
if(!isActive(deployement)) {
|
||||||
|
active(deployement);
|
||||||
|
squeletteComposant.getMenuScondaireDeployement().setVisible(true);
|
||||||
|
squeletteComposant.getMenuSecondaireInfoUser().setVisible(false);
|
||||||
|
}else {
|
||||||
|
removeActive(deployement);
|
||||||
|
squeletteComposant.getMenuScondaireDeployement().setVisible(false);
|
||||||
|
squeletteComposant.getMenuSecondaireInfoUser().setVisible(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
add(logo);
|
||||||
|
|
||||||
|
infoUser=new Button(userConnectedService.getUserConnected().getUserName(), VaadinIcon.USER.create());
|
||||||
|
infoUser.setClassName("menu-principal-button-user");
|
||||||
|
infoUser.addClickListener(buttonClickEvent -> {
|
||||||
|
if(!isActive(infoUser)) {
|
||||||
|
active(infoUser);
|
||||||
|
squeletteComposant.getMenuScondaireDeployement().setVisible(false);
|
||||||
|
squeletteComposant.getMenuSecondaireInfoUser().setVisible(true);
|
||||||
|
}else {
|
||||||
|
removeActive(infoUser);
|
||||||
|
squeletteComposant.getMenuScondaireDeployement().setVisible(false);
|
||||||
|
squeletteComposant.getMenuSecondaireInfoUser().setVisible(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
add(infoUser);
|
||||||
|
|
||||||
|
}
|
||||||
|
private boolean isActive(Button button){
|
||||||
|
return button.getClassNames().contains("active");
|
||||||
|
}
|
||||||
|
private void removeActive(Button button) {
|
||||||
|
|
||||||
|
if(button.getClassNames().contains("active")){
|
||||||
|
button.getClassNames().remove("active");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void active(Button button){
|
||||||
|
removeActive(infoUser);
|
||||||
|
removeActive(deployement);
|
||||||
|
|
||||||
|
button.getClassNames().add("active");
|
||||||
|
}
|
||||||
|
|
||||||
|
public Image getLogo() {
|
||||||
|
return logo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogo(Image logo) {
|
||||||
|
this.logo = logo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getDeployement() {
|
||||||
|
return deployement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeployement(Button deployement) {
|
||||||
|
this.deployement = deployement;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getInfoUser() {
|
||||||
|
return infoUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfoUser(Button infoUser) {
|
||||||
|
this.infoUser = infoUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserConnectedService getUserConnectedService() {
|
||||||
|
return userConnectedService;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUserConnectedService(UserConnectedService userConnectedService) {
|
||||||
|
this.userConnectedService = userConnectedService;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,69 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.menu;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.dialog.Dialog;
|
||||||
|
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import org.chtijbug.drools.console.view.AddRuntime;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class MenuScondaireDeployement extends HorizontalLayout {
|
||||||
|
|
||||||
|
private Button addRuntime;
|
||||||
|
|
||||||
|
private Button projectDeploy;
|
||||||
|
|
||||||
|
private Button accueilDeployment;
|
||||||
|
|
||||||
|
public MenuScondaireDeployement(){
|
||||||
|
setVisible(false);
|
||||||
|
|
||||||
|
setClassName("menu-secondaire-content");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
accueilDeployment=new Button("Accueil deployement",VaadinIcon.ARCHIVE.create());
|
||||||
|
accueilDeployment.setClassName("menu-secondaire-button");
|
||||||
|
add(accueilDeployment);
|
||||||
|
|
||||||
|
projectDeploy=new Button("Deployable project",VaadinIcon.EJECT.create());
|
||||||
|
projectDeploy.setClassName("menu-secondaire-button");
|
||||||
|
add(projectDeploy);
|
||||||
|
|
||||||
|
addRuntime=new Button("add runtime", VaadinIcon.PLUS.create());
|
||||||
|
addRuntime.setClassName("menu-secondaire-button");
|
||||||
|
add(addRuntime);
|
||||||
|
|
||||||
|
Dialog dialog=new Dialog();
|
||||||
|
dialog.add(new AddRuntime(dialog));
|
||||||
|
|
||||||
|
addRuntime.addClickListener(buttonClickEvent -> {
|
||||||
|
dialog.open();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getAddRuntime() {
|
||||||
|
return addRuntime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAddRuntime(Button addRuntime) {
|
||||||
|
this.addRuntime = addRuntime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getProjectDeploy() {
|
||||||
|
return projectDeploy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProjectDeploy(Button projectDeploy) {
|
||||||
|
this.projectDeploy = projectDeploy;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getAccueilDeployment() {
|
||||||
|
return accueilDeployment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAccueilDeployment(Button accueilDeployment) {
|
||||||
|
this.accueilDeployment = accueilDeployment;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,55 @@
|
||||||
|
package org.chtijbug.drools.console.vaadinComponent.menu;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import org.chtijbug.drools.console.service.UserConnectedService;
|
||||||
|
import org.chtijbug.drools.console.service.util.AppContext;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class MenuSecondaireInfoUser extends HorizontalLayout {
|
||||||
|
|
||||||
|
private Button infoUser;
|
||||||
|
|
||||||
|
private Button disconnect;
|
||||||
|
|
||||||
|
private UserConnectedService userConnectedService;
|
||||||
|
|
||||||
|
public MenuSecondaireInfoUser() {
|
||||||
|
setVisible(false);
|
||||||
|
|
||||||
|
userConnectedService= AppContext.getApplicationContext().getBean(UserConnectedService.class);
|
||||||
|
|
||||||
|
setClassName("menu-secondaire-content");
|
||||||
|
|
||||||
|
infoUser=new Button("Information User", VaadinIcon.INFO.create());
|
||||||
|
infoUser.setClassName("menu-secondaire-button");
|
||||||
|
add(infoUser);
|
||||||
|
|
||||||
|
disconnect=new Button("Disconnect",VaadinIcon.SIGN_OUT.create());
|
||||||
|
disconnect.setClassName("menu-secondaire-button");
|
||||||
|
disconnect.addClickListener(buttonClickEvent -> {
|
||||||
|
userConnectedService.disconnect();
|
||||||
|
getUI().get().navigate("");
|
||||||
|
});
|
||||||
|
add(disconnect);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getInfoUser() {
|
||||||
|
return infoUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfoUser(Button infoUser) {
|
||||||
|
this.infoUser = infoUser;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getDisconnect() {
|
||||||
|
return disconnect;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisconnect(Button disconnect) {
|
||||||
|
this.disconnect = disconnect;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.chtijbug.drools.console.view;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.page.Push;
|
||||||
|
import com.vaadin.flow.router.Route;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.Squelette.SqueletteComposant;
|
||||||
|
|
||||||
|
@Push
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
@Route("accueil")
|
||||||
|
public class AccueilView extends SqueletteComposant {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
package org.chtijbug.drools.console.view;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.dialog.Dialog;
|
||||||
|
import com.vaadin.flow.component.icon.VaadinIcon;
|
||||||
|
import com.vaadin.flow.component.html.Label;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.data.value.ValueChangeMode;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.ComponentPerso.TextFieldPerso;
|
||||||
|
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class AddRuntime extends VerticalLayout {
|
||||||
|
|
||||||
|
private TextFieldPerso host;
|
||||||
|
|
||||||
|
private TextFieldPerso port;
|
||||||
|
|
||||||
|
private TextFieldPerso runtimeName;
|
||||||
|
|
||||||
|
private Button testConnexion;
|
||||||
|
|
||||||
|
private Label label;
|
||||||
|
|
||||||
|
public AddRuntime(Dialog dialog){
|
||||||
|
|
||||||
|
setClassName("creation-runtime-content");
|
||||||
|
|
||||||
|
label=new Label("Add Runtime");
|
||||||
|
label.setClassName("creation-runtime-title");
|
||||||
|
add(label);
|
||||||
|
|
||||||
|
runtimeName=new TextFieldPerso("Runtime name","", VaadinIcon.USER.create());
|
||||||
|
runtimeName.getTextField().setRequired(true);
|
||||||
|
runtimeName.getTextField().setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
|
runtimeName.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
|
||||||
|
verify();
|
||||||
|
});
|
||||||
|
add(runtimeName);
|
||||||
|
|
||||||
|
host=new TextFieldPerso("Host","111.111.1.111",VaadinIcon.HARDDRIVE.create());
|
||||||
|
host.getTextField().setRequired(true);
|
||||||
|
host.getTextField().setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
|
host.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
|
||||||
|
verify();
|
||||||
|
});
|
||||||
|
|
||||||
|
add(host);
|
||||||
|
|
||||||
|
port=new TextFieldPerso("Port","",VaadinIcon.INBOX.create());
|
||||||
|
port.getTextField().setRequired(true);
|
||||||
|
port.getTextField().setValueChangeMode(ValueChangeMode.EAGER);
|
||||||
|
port.getTextField().addValueChangeListener(textFieldStringComponentValueChangeEvent -> {
|
||||||
|
verify();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
add(port);
|
||||||
|
|
||||||
|
testConnexion=new Button("Tester connexion");
|
||||||
|
testConnexion.setEnabled(false);
|
||||||
|
testConnexion.setClassName("login-application-connexion");
|
||||||
|
add(testConnexion);
|
||||||
|
testConnexion.addClickListener(buttonClickEvent -> {
|
||||||
|
dialog.close();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verify(){
|
||||||
|
if(runtimeName.getTextField().isInvalid()||runtimeName.getTextField().getValue().isEmpty()||runtimeName.getTextField().getValue()==null&&
|
||||||
|
port.getTextField().isInvalid()||port.getTextField().getValue().isEmpty()||port.getTextField().getValue()==null&&
|
||||||
|
host.getTextField().isInvalid()||host.getTextField().getValue().isEmpty()||host.getTextField().getValue()==null){
|
||||||
|
testConnexion.setEnabled(false);
|
||||||
|
}else {
|
||||||
|
testConnexion.setEnabled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public TextFieldPerso getHost() {
|
||||||
|
return host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHost(TextFieldPerso host) {
|
||||||
|
this.host = host;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextFieldPerso getPort() {
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPort(TextFieldPerso port) {
|
||||||
|
this.port = port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextFieldPerso getRuntimeName() {
|
||||||
|
return runtimeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRuntimeName(TextFieldPerso runtimeName) {
|
||||||
|
this.runtimeName = runtimeName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Button getTestConnexion() {
|
||||||
|
return testConnexion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTestConnexion(Button testConnexion) {
|
||||||
|
this.testConnexion = testConnexion;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
package org.chtijbug.drools.console.view;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.button.Button;
|
||||||
|
import com.vaadin.flow.component.dependency.StyleSheet;
|
||||||
|
import com.vaadin.flow.component.html.Anchor;
|
||||||
|
import com.vaadin.flow.component.html.Image;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
|
||||||
|
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
|
||||||
|
import com.vaadin.flow.router.Route;
|
||||||
|
import com.vaadin.flow.server.InputStreamFactory;
|
||||||
|
import com.vaadin.flow.server.StreamResource;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.login.LoginComponent;
|
||||||
|
import org.chtijbug.drools.console.vaadinComponent.login.TextInfoComponent;
|
||||||
|
|
||||||
|
import java.io.InputStream;
|
||||||
|
|
||||||
|
@Route("")
|
||||||
|
@StyleSheet("css/accueil.css")
|
||||||
|
public class LoginView extends VerticalLayout {
|
||||||
|
|
||||||
|
private TextInfoComponent textInfoComponent;
|
||||||
|
|
||||||
|
private LoginComponent loginComponent;
|
||||||
|
|
||||||
|
private Image logo;
|
||||||
|
|
||||||
|
private VerticalLayout verticalLayout;
|
||||||
|
|
||||||
|
public LoginView(){
|
||||||
|
|
||||||
|
setClassName("global-layout");
|
||||||
|
|
||||||
|
|
||||||
|
HorizontalLayout contentImage=new HorizontalLayout();
|
||||||
|
contentImage.setClassName("content-image");
|
||||||
|
add(contentImage);
|
||||||
|
|
||||||
|
verticalLayout=new VerticalLayout();
|
||||||
|
verticalLayout.setClassName("login-global");
|
||||||
|
add(verticalLayout);
|
||||||
|
|
||||||
|
HorizontalLayout contentImage2=new HorizontalLayout();
|
||||||
|
contentImage2.setClassName("content-image2");
|
||||||
|
add(contentImage2);
|
||||||
|
|
||||||
|
Anchor aproposFooter=new Anchor("https://pymma-software.heron-software.com/","A propos");
|
||||||
|
aproposFooter.setClassName("footer-button");
|
||||||
|
contentImage2.add(aproposFooter);
|
||||||
|
|
||||||
|
Anchor contactFooter=new Anchor("https://pymma-software.heron-software.com/contact","Contact");
|
||||||
|
contactFooter.setClassName("footer-button");
|
||||||
|
contentImage2.add(contactFooter);
|
||||||
|
|
||||||
|
InputStreamFactory inputStreamFactory=new InputStreamFactory() {
|
||||||
|
@Override
|
||||||
|
public InputStream createInputStream() {
|
||||||
|
return getClass().getResourceAsStream("/images/pymma.png");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
StreamResource str=new StreamResource("logo",inputStreamFactory);
|
||||||
|
|
||||||
|
logo=new Image(str,"");
|
||||||
|
logo.setClassName("login-logoPresentation");
|
||||||
|
contentImage.add(logo);
|
||||||
|
|
||||||
|
HorizontalLayout horizontalLayout=new HorizontalLayout();
|
||||||
|
horizontalLayout.setClassName("login-global-content");
|
||||||
|
verticalLayout.add(horizontalLayout);
|
||||||
|
|
||||||
|
textInfoComponent=new TextInfoComponent();
|
||||||
|
horizontalLayout.add(textInfoComponent);
|
||||||
|
|
||||||
|
loginComponent=new LoginComponent();
|
||||||
|
horizontalLayout.add(loginComponent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public TextInfoComponent getTextInfoComponent() {
|
||||||
|
return textInfoComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTextInfoComponent(TextInfoComponent textInfoComponent) {
|
||||||
|
this.textInfoComponent = textInfoComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LoginComponent getLoginComponent() {
|
||||||
|
return loginComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLoginComponent(LoginComponent loginComponent) {
|
||||||
|
this.loginComponent = loginComponent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Image getLogo() {
|
||||||
|
return logo;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setLogo(Image logo) {
|
||||||
|
this.logo = logo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,41 @@
|
||||||
|
@import "login/globalLogin.css";
|
||||||
|
@import "menu/menuGlobal.css";
|
||||||
|
@import "leftMenu/leftMenuGlobal.css";
|
||||||
|
@import "view/global.css";
|
||||||
|
|
||||||
|
.separator{
|
||||||
|
height: 2px;
|
||||||
|
background-color: rgba(0, 0, 0, 0.2) !important;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.squelette-composant-contentAll{
|
||||||
|
width: 100%!important;
|
||||||
|
height: 100%;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.squelette-component-content{
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
background-color: whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
.squelette-component-horizontal{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.squelette-component-infoPage{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
.footer-button{
|
||||||
|
background: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 0.8vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.grid-perso {
|
|
||||||
height: 800px !important;
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
.datepicker-perso-icon{
|
||||||
|
color: #a5a5a5;
|
||||||
|
margin-top: 18px;
|
||||||
|
}
|
||||||
|
.content-icon{
|
||||||
|
background-color: grey;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-top: 35px;
|
||||||
|
padding: 6px !important;
|
||||||
|
}
|
||||||
|
.vaadin-date-picker-container.style-scope.vaadin-date-picker >label {
|
||||||
|
|
||||||
|
margin-left: -35px;
|
||||||
|
}
|
||||||
|
.vaadin-date-picker-container.style-scope.vaadin-date-picker {
|
||||||
|
width: 400px;
|
||||||
|
|
||||||
|
}
|
||||||
|
vaadin-date-picker [part="input-field"]{
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
.passwordField-perso-icon{
|
||||||
|
color: #a5a5a5;
|
||||||
|
margin-top: 18px;
|
||||||
|
}
|
||||||
|
.content-icon{
|
||||||
|
background-color: grey;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin-top: 35px;
|
||||||
|
padding: 6px !important;
|
||||||
|
width: 37px !important;
|
||||||
|
}
|
||||||
|
.horizontal-content{
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
.vaadin-text-field-container.style-scope.vaadin-password-field {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.vaadin-text-field-container.style-scope.vaadin-text-field {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.content-perso-field{
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
.leftMenu-global-content{
|
||||||
|
width: 19%!important;
|
||||||
|
padding: 0px;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
position: relative;
|
||||||
|
box-shadow: 5px 4px 10px #A0A0A0A0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-infoEntreprise{
|
||||||
|
width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
bottom: 0;
|
||||||
|
position: absolute;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-button{
|
||||||
|
background: transparent;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 1vw;
|
||||||
|
margin: 0px;
|
||||||
|
height: 3vw;
|
||||||
|
color: #32CBC5;
|
||||||
|
border-radius: 0px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.leftMenu-global-button.active{
|
||||||
|
border-left-color: rgb(50, 203, 187);
|
||||||
|
border-left-style: solid;
|
||||||
|
border-left-width: 0.2vw;
|
||||||
|
background-color: whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.leftMenu-global-action{
|
||||||
|
height: 100%;
|
||||||
|
padding: 0px;
|
||||||
|
margin-left: 0px;
|
||||||
|
margin-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-infoStructure-content{
|
||||||
|
width: 100%!important;
|
||||||
|
padding: 0px;
|
||||||
|
height: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-infoStrcutre-contentTitre{
|
||||||
|
background-color: #DCDCDC;
|
||||||
|
width: 100%!important;
|
||||||
|
height: 4vw;
|
||||||
|
margin: 0px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-inforStructure-titre{
|
||||||
|
font-size: 1.5vw;
|
||||||
|
font-weight: bold;
|
||||||
|
color: rgba(0,0,0,0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-inforStructure-logo{
|
||||||
|
width: 6vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-inforStructure-label{
|
||||||
|
color: rgba(0,0,0,0.6);
|
||||||
|
font-size: 0.9vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.leftMenu-global-inforStructure-content-label{}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
.login-application-title{
|
||||||
|
color: #32CBBB;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-application-forgotPassword{}
|
||||||
|
|
||||||
|
.login-application-connexion {
|
||||||
|
font-family: var(--lumo-font-family);
|
||||||
|
font-size: var(--lumo-font-size-m);
|
||||||
|
font-weight: 500;
|
||||||
|
color: white;
|
||||||
|
background-color:#32cbcb ;
|
||||||
|
border-radius: var(--lumo-border-radius);
|
||||||
|
width: 100%;
|
||||||
|
-webkit-tap-highlight-color: transparent;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
margin-top: 10%;
|
||||||
|
cursor: pointer;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.login-application-connexion[disabled][disabled] {
|
||||||
|
pointer-events: none;
|
||||||
|
color: var(--lumo-disabled-text-color);
|
||||||
|
background-color: gainsboro;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-application-layout{
|
||||||
|
display: inline-block;
|
||||||
|
box-shadow: 5px 4px 10px #A0A0A0A0;
|
||||||
|
border-bottom-right-radius: 2px;
|
||||||
|
border-bottom-left-radius: 2px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 5px;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-application-layout-separation{}
|
||||||
|
|
||||||
|
.login-application-layout-formulaire{}
|
||||||
|
|
@ -0,0 +1,43 @@
|
||||||
|
|
||||||
|
.login-application-layout-FormulaireInfo {
|
||||||
|
position: relative;
|
||||||
|
background: #32CBBB;
|
||||||
|
border: 4px solid #32CBBB;
|
||||||
|
width: 50%!important;
|
||||||
|
display: inline-grid;
|
||||||
|
}
|
||||||
|
.login-application-layout-FormulaireInfo:after, .arrow_box:before {
|
||||||
|
right: 100%;
|
||||||
|
top: 50%;
|
||||||
|
border: solid transparent;
|
||||||
|
content: " ";
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
position: absolute;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-application-layout-FormulaireInfo:after {
|
||||||
|
border-color: rgba(50, 203, 187, 0);
|
||||||
|
border-right-color: #32CBBB;
|
||||||
|
border-width: 30px;
|
||||||
|
margin-top: -30px;
|
||||||
|
}
|
||||||
|
.login-application-layout-FormulaireInfo:before {
|
||||||
|
border-color: rgba(50, 203, 187, 0);
|
||||||
|
border-right-color: #32CBBB;
|
||||||
|
border-width: 36px;
|
||||||
|
margin-top: -36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-application-layout-FormulaireInfo-Title{
|
||||||
|
color: whitesmoke;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: -30%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-application-layout-FormulaireInfo-Paragraphe{
|
||||||
|
color: whitesmoke;
|
||||||
|
margin-top: -30%;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
@import "formulaire.css";
|
||||||
|
@import "formulaireInfoContent.css";
|
||||||
|
@import "textInfo.css";
|
||||||
|
@import "loginComponent.css";
|
||||||
|
|
||||||
|
.login-global{
|
||||||
|
text-align: center;
|
||||||
|
background-color: #F0F0F0;
|
||||||
|
height: 76%!important;
|
||||||
|
padding-top: 8%;
|
||||||
|
}
|
||||||
|
.global-layout{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
text-align: center;
|
||||||
|
padding: 0 !important;
|
||||||
|
background-color: #F0F0F0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.footer-button .vaadin-button-container {
|
||||||
|
text-decoration: underline!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer-button :hover{
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.login-global-content{}
|
||||||
|
|
||||||
|
.login-logoPresentation{
|
||||||
|
width: 200px;
|
||||||
|
}
|
||||||
|
.content-image{
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
padding-top: 1%;
|
||||||
|
padding-bottom: 1%;
|
||||||
|
background-color: white;
|
||||||
|
height: 12%;
|
||||||
|
box-shadow: 0px 2px 10px #A0A0A0A0;
|
||||||
|
}
|
||||||
|
.content-image2{
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
|
padding-top: 1%;
|
||||||
|
padding-bottom: 1%;
|
||||||
|
background-color: white;
|
||||||
|
height: 12%;
|
||||||
|
box-shadow: 0px -2px 12px #A0A0A0A0;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
.login-formulaire-globalLayout{
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 14%;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
.login-layout-textInfo{
|
||||||
|
width: 40%!important;
|
||||||
|
margin-left: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-title{
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-textInfo-layoutContent{}
|
||||||
|
|
||||||
|
.login-textInfo-button{}
|
||||||
|
|
||||||
|
.login-textInfo-paragraph{}
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
@import "menuPrincipal.css";
|
||||||
|
@import "menuSecondaire.css";
|
||||||
|
|
@ -0,0 +1,57 @@
|
||||||
|
.menu-principal-menubar-content{
|
||||||
|
height: 8%;
|
||||||
|
width: 100%;
|
||||||
|
position: relative;
|
||||||
|
padding: 0px;
|
||||||
|
box-shadow: 5px 4px 10px #A0A0A0A0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-principal-logoPresentation{
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-top: 0.4%;
|
||||||
|
margin-bottom: 0.4%;
|
||||||
|
width: 11vw;
|
||||||
|
}
|
||||||
|
.icon-menuPrincipal{
|
||||||
|
color: rgba(0,0,0,0.60);
|
||||||
|
}
|
||||||
|
.hamburger{
|
||||||
|
background-color: transparent;
|
||||||
|
height: 100%;
|
||||||
|
margin: 0px;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 18px;
|
||||||
|
font-size: 2vw;
|
||||||
|
|
||||||
|
}
|
||||||
|
.menu-principal-button{
|
||||||
|
background-color: transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 0px;
|
||||||
|
color: rgba(0,0,0,0.60);
|
||||||
|
margin: 0px;
|
||||||
|
font-size: 0.9vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-principal-button.active{
|
||||||
|
border-bottom-color: rgb(50, 203, 187);
|
||||||
|
border-bottom-style: solid;
|
||||||
|
border-bottom-width: 0.2vw;
|
||||||
|
background-color: whitesmoke;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-principal-button-user{
|
||||||
|
background-color: #32CBC3;
|
||||||
|
cursor: pointer;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 0px;
|
||||||
|
color: white;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
margin: 0px;
|
||||||
|
width: 14%;
|
||||||
|
font-size: 1.3vw;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
.menu-secondaire-content{
|
||||||
|
width: 100%;
|
||||||
|
background-color: #32cbcb;
|
||||||
|
box-shadow: 5px 4px 10px #A0A0A0A0;
|
||||||
|
height: 7%;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.menu-secondaire-button{
|
||||||
|
background-color: transparent;
|
||||||
|
height: 100%;
|
||||||
|
color: white;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: 1vw;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
.creation-runtime-title{
|
||||||
|
color: #32CBBB;
|
||||||
|
font-weight: bolder;
|
||||||
|
font-size: 1.5vw;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.creation-runtime-content{}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
@import "addRuntime.css";
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 208 KiB |
|
|
@ -10,8 +10,6 @@
|
||||||
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$MODULE_DIR$">
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
|
|
||||||
<excludeFolder url="file://$MODULE_DIR$/target" />
|
<excludeFolder url="file://$MODULE_DIR$/target" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
|
|
|
||||||
Loading…
Add table
editor.link_modal.header
Reference in a new issue