Skip to content

Commit

Permalink
重构BeanConfiguration工厂类们
Browse files Browse the repository at this point in the history
  • Loading branch information
zzk0803 committed Jun 7, 2019
1 parent d2c22a4 commit c74f3f6
Show file tree
Hide file tree
Showing 10 changed files with 97 additions and 152 deletions.
6 changes: 0 additions & 6 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,6 @@
<version>${card.version}</version>
</dependency>

<dependency>
<groupId>com.github.appreciated</groupId>
<artifactId>app-layout-addon</artifactId>
<version>LATEST</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public TreeGrid<DormitorySpace> spaceTreeGrid() {
final DormitorySpace space = clickedItemEvent.getItem();
if (spaceTreeGrid.isExpanded(space)) {
spaceTreeGrid.collapse(space);
}else {
} else {
spaceTreeGrid.expand(space);
}
});
Expand Down Expand Up @@ -285,43 +285,17 @@ public H1 headerH1() {
return new H1(DormitoryView.VIEW_TITLE);
}

@Bean
@UIScope
public DormitoryEditForm dormitoryEditForm() {
return new DormitoryEditForm(
dormitorySpaceService,
spaceBinder(),
spaceNameField(),
capacityField(),
availableCheckbox(),
operationalCheckbox(),
spaceTypeComboBox(),
upperSpaceComboBox()
);
}

//--------------------------------------------------------------------------------
//------------ 住户管理编辑对话框 -----------------
//--------------------------------------------------------------------------------

@Bean
@UIScope
public DormitoryEditDialog dormitoryEditDialog() {
return new DormitoryEditDialog(
dormitoryEditForm(),
commitButton(),
giveUpButton()
);
public H4 dialogHeaderForDormitory() {
return new H4("新建&编辑宿舍空间");
}

@Bean
@UIScope
public Button giveUpButton() {
Button giveUpButton = new Button("放弃并关闭");
giveUpButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE);
giveUpButton.getStyle().set("color", "red");
return giveUpButton;
}

@Bean
@UIScope
Expand All @@ -331,7 +305,7 @@ public Binder<DormitorySpace> spaceBinder() {

@Bean
@UIScope
public TextField spaceNameField() {
public TextField dormitorySpaceNameField() {
TextField spaceNameField = new TextField("名称", "请输入名称或编号");
spaceNameField.setRequired(true);
spaceNameField.setRequiredIndicatorVisible(true);
Expand All @@ -340,27 +314,27 @@ public TextField spaceNameField() {

@Bean
@UIScope
public TextField capacityField() {
public TextField dormitoryCapacityField() {
TextField capacityField = new TextField("容积", "最大容纳人数");
capacityField.setRequiredIndicatorVisible(true);
return capacityField;
}

@Bean
@UIScope
public Checkbox availableCheckbox() {
public Checkbox dormitoryAvailableCheckbox() {
return new Checkbox("设置为可用(未满)");
}

@Bean
@UIScope
public Checkbox operationalCheckbox() {
public Checkbox dormitoryOperationalCheckbox() {
return new Checkbox("设置为启用");
}

@Bean
@UIScope
public ComboBox<DormitorySpaceType> spaceTypeComboBox() {
public ComboBox<DormitorySpaceType> dormitorySpaceTypeComboBox() {
ComboBox<DormitorySpaceType> spaceTypeComboBox = new ComboBox<>("空间类型");
spaceTypeComboBox.setItems(DormitorySpaceType.values());
spaceTypeComboBox.setItemLabelGenerator(DormitorySpaceType::getCn);
Expand All @@ -369,7 +343,7 @@ public ComboBox<DormitorySpaceType> spaceTypeComboBox() {

@Bean
@UIScope
public ComboBox<DormitorySpace> upperSpaceComboBox() {
public ComboBox<DormitorySpace> dormitoryUpperSpaceComboBox() {
ComboBox<DormitorySpace> upperSpaceComboBox = new ComboBox<>("上层空间");
upperSpaceComboBox.setVisible(false);
upperSpaceComboBox.setItemLabelGenerator(DormitorySpace::getName);
Expand All @@ -378,9 +352,18 @@ public ComboBox<DormitorySpace> upperSpaceComboBox() {

@Bean
@UIScope
public Button commitButton() {
public Button dormitoryDialogCommitButton() {
Button commit = new Button("提交");
commit.addThemeVariants(ButtonVariant.LUMO_PRIMARY);
return commit;
}

@Bean
@UIScope
public Button dormitoryDialogGiveUpButton() {
Button giveUpButton = new Button("放弃并关闭");
giveUpButton.addThemeVariants(ButtonVariant.LUMO_TERTIARY_INLINE);
giveUpButton.getStyle().set("color", "red");
return giveUpButton;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,18 @@
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.component.treegrid.TreeGrid;
import com.vaadin.flow.spring.annotation.SpringComponent;
import com.vaadin.flow.spring.annotation.UIScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import zzk.project.dms.domain.entities.DormitorySpace;

@SpringComponent
@UIScope
public class DormitoryEditDialog extends Dialog {
private VerticalLayout root = new VerticalLayout();

private H4 dialogHeader;
private DormitoryEditForm dormitoryEditForm;
private TreeGrid<DormitorySpace> spaceTreeGrid;

Expand All @@ -21,10 +27,12 @@ public class DormitoryEditDialog extends Dialog {

@Autowired
public DormitoryEditDialog(
@Qualifier("dialogHeaderForDormitory") H4 dialogHeader,
DormitoryEditForm dormitoryEditForm,
Button commitButton,
Button giveUpButton
@Qualifier("dormitoryDialogCommitButton") Button commitButton,
@Qualifier("dormitoryDialogGiveUpButton") Button giveUpButton
) {
this.dialogHeader = dialogHeader;
this.dormitoryEditForm = dormitoryEditForm;
this.commitButton = commitButton;
this.giveUpButton = giveUpButton;
Expand All @@ -43,8 +51,7 @@ private void init() {
this.setCloseOnOutsideClick(false);
this.setCloseOnEsc(false);

H4 headerH4 = new H4("新建&编辑宿舍空间");
root.add(headerH4);
root.add(dialogHeader);
root.add(dormitoryEditForm);
root.add(new HorizontalLayout(commitButton, giveUpButton));
addComponentAsFirst(root);
Expand Down
16 changes: 10 additions & 6 deletions src/main/java/zzk/project/dms/ui/dormitory/DormitoryEditForm.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import com.vaadin.flow.data.binder.ValidationResult;
import com.vaadin.flow.data.converter.StringToIntegerConverter;
import com.vaadin.flow.data.provider.ListDataProvider;
import com.vaadin.flow.spring.annotation.SpringComponent;
import com.vaadin.flow.spring.annotation.UIScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import zzk.project.dms.domain.DormitoryManageException;
Expand All @@ -19,6 +21,8 @@

import java.util.Objects;

@SpringComponent
@UIScope
public class DormitoryEditForm extends VerticalLayout {
private Binder<DormitorySpace> dormitorySpaceBinder;

Expand All @@ -39,12 +43,12 @@ public class DormitoryEditForm extends VerticalLayout {
public DormitoryEditForm(
DormitorySpaceService dormitorySpaceService,
Binder<DormitorySpace> dormitorySpaceBinder,
@Qualifier("spaceNameField") TextField spaceNameField,
@Qualifier("capacityField") TextField capacityField,
@Qualifier("availableCheckbox") Checkbox availableCheckbox,
Checkbox operationalCheckbox,
ComboBox<DormitorySpaceType> spaceTypeComboBox,
ComboBox<DormitorySpace> upperSpaceComboBox
@Qualifier("dormitorySpaceNameField") TextField spaceNameField,
@Qualifier("dormitoryCapacityField") TextField capacityField,
@Qualifier("dormitoryAvailableCheckbox") Checkbox availableCheckbox,
@Qualifier("dormitoryOperationalCheckbox") Checkbox operationalCheckbox,
@Qualifier("dormitorySpaceTypeComboBox") ComboBox<DormitorySpaceType> spaceTypeComboBox,
@Qualifier("dormitoryUpperSpaceComboBox") ComboBox<DormitorySpace> upperSpaceComboBox
) {
this.dormitorySpaceService = dormitorySpaceService;
this.dormitorySpaceBinder = dormitorySpaceBinder;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,33 +108,19 @@ public Grid<FinancialRecord> financialRecordGrid() {
return financialRecordGrid;
}

@Bean
@UIScope
public FinanceRecordDialog financeRecordDialog() {
FinanceRecordDialog dialog = new FinanceRecordDialog(
financeRecordFormDialogHeader(),
financeRecordFormEntityEditForm(),
financeRecordFormOkButton(),
financeRecordFormCancelButton()
);
dialog.setCloseOnEsc(false);
dialog.setCloseOnOutsideClick(false);
return dialog;
}

//--------------------------------------------------------------------------------
//------------ 财务表单页面 -----------------
//--------------------------------------------------------------------------------

@Bean
@UIScope
public Binder<FinancialRecord> financialRecordBinder() {
return new Binder<>();
public Binder<FinancialRecord> financialBinder() {
return new Binder<FinancialRecord>();
}

@Bean
@UIScope
public ComboBox<Tenement> tenementComboBox() {
public ComboBox<Tenement> financialTenementComboBox() {
ComboBox<Tenement> tenementComboBox = new ComboBox<>("住户");
tenementComboBox.setDataProvider(tenementDataProviderForComboBox());
tenementComboBox.setItemLabelGenerator(Tenement::getName);
Expand All @@ -149,15 +135,15 @@ public TenementNameFilterAndPageableDataProvider tenementDataProviderForComboBox

@Bean
@UIScope
public DatePicker recordDateDatePicker() {
public DatePicker financialRecordDatePicker() {
DatePicker recordDateDatePicker = new DatePicker();
recordDateDatePicker.setLabel("结算日期");
return recordDateDatePicker;
}

@Bean
@UIScope
public NumberField checkInField() {
public NumberField financialCheckInField() {
NumberField numberField = new NumberField("应收金额");
numberField.setHasControls(true);
numberField.setSuffixComponent(VaadinIcon.DOLLAR.create());
Expand All @@ -166,15 +152,15 @@ public NumberField checkInField() {

@Bean
@UIScope
public TextArea descriptionArea() {
public TextArea financialDescriptionArea() {
TextArea descriptionArea = new TextArea("备忘录");
descriptionArea.setHeight("20em");
return descriptionArea;
}

@Bean
@UIScope
public Checkbox markCheckBox() {
public Checkbox financialMarkCheckBox() {
return new Checkbox("是否已收款");
}

Expand All @@ -188,20 +174,6 @@ public H4 financeRecordFormDialogHeader() {
return new H4("新建&编辑收费记录");
}

@Bean
@UIScope
public FinanceRecordEditForm financeRecordFormEntityEditForm() {
return new FinanceRecordEditForm(
financialRecordBinder(),
recordDateDatePicker(),
tenementComboBox(),
checkInField(),
descriptionArea(),
markCheckBox(),
financialRecordService
);
}

@Bean
@UIScope
public Button financeRecordFormOkButton() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@
import com.vaadin.flow.component.orderedlayout.FlexComponent;
import com.vaadin.flow.component.orderedlayout.HorizontalLayout;
import com.vaadin.flow.component.orderedlayout.VerticalLayout;
import com.vaadin.flow.spring.annotation.SpringComponent;
import com.vaadin.flow.spring.annotation.UIScope;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import zzk.project.dms.domain.entities.FinancialRecord;

@SpringComponent
@UIScope
public class FinanceRecordDialog extends Dialog {

private H4 dialogHeader;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,17 @@
import com.vaadin.flow.component.textfield.TextArea;
import com.vaadin.flow.data.binder.*;
import com.vaadin.flow.data.converter.Converter;
import com.vaadin.flow.spring.annotation.SpringComponent;
import com.vaadin.flow.spring.annotation.UIScope;
import org.springframework.beans.factory.annotation.Qualifier;
import zzk.project.dms.domain.entities.FinancialRecord;
import zzk.project.dms.domain.entities.Tenement;
import zzk.project.dms.domain.services.FinancialRecordService;

import java.math.BigDecimal;

@SpringComponent
@UIScope
public class FinanceRecordEditForm extends VerticalLayout {
private Binder<FinancialRecord> binder;
private FinancialRecord editingRecord;
Expand All @@ -35,12 +40,12 @@ public class FinanceRecordEditForm extends VerticalLayout {
private FinancialRecordService financialRecordService;

public FinanceRecordEditForm(
Binder<FinancialRecord> binder,
DatePicker recordDatePicker,
ComboBox<Tenement> tenementComboBox,
NumberField checkInField,
TextArea descriptionArea,
Checkbox markCheckBox,
@Qualifier("financialBinder") Binder<FinancialRecord> binder,
@Qualifier("financialRecordDatePicker") DatePicker recordDatePicker,
@Qualifier("financialTenementComboBox") ComboBox<Tenement> tenementComboBox,
@Qualifier("financialCheckInField") NumberField checkInField,
@Qualifier("financialDescriptionArea") TextArea descriptionArea,
@Qualifier("financialMarkCheckBox") Checkbox markCheckBox,
FinancialRecordService financialRecordService
) {
this.financialRecordService = financialRecordService;
Expand Down
Loading

0 comments on commit c74f3f6

Please sign in to comment.