/
Apathy21
/
company
Обзор
Документация
Войти
/
Apathy21
/
company
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
MainService/src/main/java/org/example/vm/CompanyVM.java
108 строк
3 KB
alexeev509
Skeletop company app realization
13 сен 2024, 19:21
13 сен 2024, 19:21
2a02e11
Код
Авторство
О чём код?
package org.example.vm; import org.example.Entity.BranchOffice; import org.example.Entity.Company; import org.example.service.CompanyService; import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.GlobalCommand; import org.zkoss.bind.annotation.NotifyChange; import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.select.annotation.VariableResolver; import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zul.Window; import java.util.HashMap; import java.util.List; // https://books.zkoss.org/zk-mvvm-book/8.0/advanced/wire_variables.html //<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?> //@VariableResolver({org.zkoss.zkplus.cdi.DelegatingVariableResolver.class, org.zkoss.zkplus.jndi.JndiVariableResolver.class}) @VariableResolver(org.zkoss.zkplus.cdi.DelegatingVariableResolver.class) public class CompanyVM { @WireVariable private CompanyService companyService; private List<Company> companies; private Company selectedCompany; private final static int pageSize = 6; // Количество элементов на странице private int currentPage = 1; // Текущая страница private int totalPages; // Общее количество страниц private boolean prevButtonDisable = true; public List<Company> getCompanies() { companies = companyService.findAllWithRangeConstraint(currentPage, pageSize); return companies; } @Command @NotifyChange({"currentPage", "companies", "prevButtonDisable"}) public void nextPage() { ++currentPage; prevButtonDisable = false; } @Command @NotifyChange({"currentPage", "companies", "prevButtonDisable"}) public void previousPage() { --currentPage; if (currentPage == 1) prevButtonDisable = true; } @Command @NotifyChange({"companies"}) public void deleteCompany(@BindingParam("company") Company company) { companyService.delete(company); } @Command public void showModelWin() { Window window = (Window) Executions.createComponents( "companyCreation.zul", null, null); window.doModal(); } @GlobalCommand @NotifyChange({"companies"}) public void refreshCompanies(@BindingParam("createdCompany") Company createdCompany) { this.companies.add(createdCompany); } // @Command // public void getCompanyBranchOffices(@BindingParam("company") Company company) { // System.out.println(company); // } // // @Command // @NotifyChange("{selectedCompany}") // public void selectCompany(@BindingParam("company") Company company) { // selectedCompany = company; // System.out.println("SELECTED: " + company); // } // public int getPageSize() { return pageSize; } public int getCurrentPage() { return currentPage; } public int getTotalPages() { return totalPages; } public boolean isPrevButtonDisable() { return prevButtonDisable; } public Company getSelectedCompany() { return selectedCompany; } }