Opravena chyba zacyklani requestu pri trideni gridu s vybranym zaznamem.

Nasazani cache entit.
closes #269
master
Josef Rokos 9 years ago
parent 7d4d693b2e
commit a8dc7f1306

@ -229,6 +229,11 @@
<artifactId>hibernate-search</artifactId>
<version>4.4.6.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>4.2.8.Final</version>
</dependency>
<!-- ZK -->
<dependency>

@ -1,6 +1,9 @@
package info.bukova.isspst.data;
import java.util.Date;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import javax.persistence.Column;
import javax.persistence.FetchType;
@ -10,9 +13,7 @@ import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import java.util.Date;
@MappedSuperclass
@Indexed
@ -29,10 +30,12 @@ public abstract class BaseData implements OwnedDataModel {
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="OWNED_BY_ID")
@IndexedEmbedded
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private User ownedBy;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="MODIFIED_BY_ID")
@IndexedEmbedded
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private User modifiedBy;
@Transient
private boolean valid;

@ -1,5 +1,8 @@
package info.bukova.isspst.data;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
@ -11,6 +14,7 @@ import javax.persistence.Table;
@Entity
@Table(name = "JOBMAPPING")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class JobMapping {
@Id
@ -19,9 +23,11 @@ public class JobMapping {
private int id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "MEMBER_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Member member;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "ROLE_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Role role;
public JobMapping() {

@ -1,8 +1,9 @@
package info.bukova.isspst.data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -15,12 +16,13 @@ import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Transient;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public abstract class Member implements DataModel {
@Id
@ -33,6 +35,7 @@ public abstract class Member implements DataModel {
@ManyToMany
@LazyCollection(LazyCollectionOption.TRUE)
@JoinTable(name="MEMBER_PARENT", joinColumns={@JoinColumn(name="MEMBER_ID")}, inverseJoinColumns={@JoinColumn(name="PARENT_ID")})
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<Workgroup> parents;
@Transient
private boolean valid;

@ -1,6 +1,9 @@
package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.springframework.security.core.GrantedAuthority;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -8,10 +11,9 @@ import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.Table;
import org.springframework.security.core.GrantedAuthority;
@Entity
@Table(name="PERMISSION")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Permission extends BaseSimpleData implements GrantedAuthority {
/**

@ -1,9 +1,7 @@
package info.bukova.isspst.data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@ -11,9 +9,10 @@ import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Entity
@Table(name = "REQUIREMENT")

@ -1,6 +1,8 @@
package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.search.annotations.Analyze;
@ -24,6 +26,7 @@ import java.util.List;
@MappedSuperclass
@Indexed
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class RequirementBase extends BaseData implements FilterableRequirement, SeasonsAware {
@ManyToOne(fetch = FetchType.LAZY)
@ -43,9 +46,11 @@ public class RequirementBase extends BaseData implements FilterableRequirement,
private String description;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "CENTRE_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Workgroup centre;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "WORKGROUP_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Workgroup workgroup;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@LazyCollection(LazyCollectionOption.TRUE)
@ -56,6 +61,7 @@ public class RequirementBase extends BaseData implements FilterableRequirement,
private RequirementState state;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "SEASON_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Season season;
public RequirementBase() {

@ -1,9 +1,11 @@
package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.springframework.security.core.GrantedAuthority;
import javax.persistence.Column;
import javax.persistence.Entity;
@ -11,13 +13,12 @@ import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.springframework.security.core.GrantedAuthority;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name="ROLE")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Role extends BaseSimpleData implements GrantedAuthority, DataModel {
/**
@ -32,6 +33,7 @@ public class Role extends BaseSimpleData implements GrantedAuthority, DataModel
@ManyToMany
@LazyCollection(LazyCollectionOption.FALSE)
@JoinTable(name="ROLE_PERMISSION", joinColumns={@JoinColumn(name="ROLE_ID")}, inverseJoinColumns={@JoinColumn(name="PERMISSION_ID")})
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<Permission> permissions;
@Column(name = "WORKGROUP")
private boolean workgroup;

@ -1,5 +1,8 @@
package info.bukova.isspst.data;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@ -10,6 +13,7 @@ import java.util.Date;
*/
@Entity
@Table(name = "SEASON")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Season extends BaseData {
@Column(name = "DESCRIPTION")
private String description;

@ -2,6 +2,8 @@ package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import info.bukova.isspst.storage.EntityWithAttachment;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.search.annotations.Analyze;
@ -31,6 +33,7 @@ public class TripBill extends BaseData implements EntityWithAttachment, SeasonsA
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "REQUIREMENT_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private TripRequirement requirement;
@Column(name = "RESULT_MESSAGE_DATE")
private Date resultMessageDate;
@ -72,6 +75,7 @@ public class TripBill extends BaseData implements EntityWithAttachment, SeasonsA
private Date paidDate;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "SEASON_ID")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private Season season;
public TripBill() {

@ -1,11 +1,13 @@
package info.bukova.isspst.data;
import info.bukova.isspst.storage.EntityWithAttachment;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@ -16,14 +18,10 @@ import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.hibernate.search.annotations.IndexedEmbedded;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Entity
@Table(name = "TRIPREQUIREMENT")

@ -1,9 +1,13 @@
package info.bukova.isspst.data;
import info.bukova.isspst.StringUtils;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.springframework.security.core.userdetails.UserDetails;
import javax.persistence.Column;
import javax.persistence.Embedded;
@ -13,16 +17,13 @@ import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.Table;
import org.hibernate.search.annotations.Analyze;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Index;
import org.hibernate.search.annotations.Indexed;
import org.springframework.security.core.userdetails.UserDetails;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name="USER")
@Indexed
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class User extends Member implements UserDetails, DataModel {
/**
@ -50,6 +51,7 @@ public class User extends Member implements UserDetails, DataModel {
private boolean notify;
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name="USER_ROLE", joinColumns={@JoinColumn(name="USER_ID")}, inverseJoinColumns={@JoinColumn(name="ROLE_ID")})
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<Role> authorities;
@Column(name="SETTINGS", length=1048576)
private String settings;

@ -1,11 +1,10 @@
package info.bukova.isspst.data;
import info.bukova.isspst.StringUtils;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@ -17,12 +16,14 @@ import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "WORKGROUP")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Workgroup extends Member implements OwnedDataModel, Serializable {
/**
@ -37,6 +38,7 @@ public class Workgroup extends Member implements OwnedDataModel, Serializable {
@ManyToMany(cascade = {CascadeType.ALL})
@LazyCollection(LazyCollectionOption.TRUE)
@JoinTable(name="WORKGROUP_MEMBER", joinColumns={@JoinColumn(name="WORKGROUP_ID")}, inverseJoinColumns={@JoinColumn(name="JOBMAPPING_ID")})
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<JobMapping> members;
@Column(name = "CENTRE")
private boolean centre;

@ -23,6 +23,7 @@ import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Listheader;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Window;
@ -48,6 +49,7 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
private boolean sortDesc = true;
private boolean newRec = false;
private boolean fullFill = false;
private Listheader sortHeader;
@WireVariable
private SeasonService seasonService;
@ -283,6 +285,10 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
BindUtils.postGlobalCommand(null, null, "reloadRelated", null);
if (sortHeader != null) {
sortHeader.setSortDirection("natural");
}
}
@GlobalCommand
@ -360,6 +366,14 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
dataBean = null;
}
@Command
@NotifyChange({"dataBean", "canApprove"})
public void onSortHeader(@BindingParam("header") Listheader header) {
sortHeader = header;
selIndex = -1;
dataBean = null;
}
public int getSelIndex() {
return this.selIndex;
}

@ -1,5 +1,5 @@
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.databaseurl=jdbc:mysql://127.0.0.1:3306/isspst?characterEncoding=latin2&autoReconnect=true
jdbc.databaseurl=jdbc:mysql://127.0.0.1:3306/isspst-ostra?characterEncoding=latin2&autoReconnect=true
jdbc.username=isspst
jdbc.password=xsacfgd

@ -58,6 +58,10 @@
<prop key="hibernate.search.default.directory_provider">filesystem</prop>
<prop key="hibernate.search.default.indexBase">${storage.fulltextIndex}</prop>
<prop key="hibernate.search.analyzer">org.apache.lucene.analysis.cz.CzechAnalyzer</prop>
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.generate_statistics">true</prop>
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
<!-- <prop key="hibernate.enable_lazy_load_no_trans">true</prop> -->
</props>
</property>

@ -51,6 +51,6 @@
<div id="mainData">
<u:include src="${gridZul}" />
</div>
<div id="footer"> Verze 3.1 </div>
<div id="footer"> Verze 4.1 </div>
</div>
</html>

@ -3,7 +3,7 @@
vflex="1"
hflex="7"
itemRenderer="@load(vm.requirementsItemRenderer)"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
model="@load(vm.dataList)"
mold="paging"
autopaging="true"
@ -13,34 +13,42 @@
<listheader
label="${labels.StudentProjectAbr}"
sort="auto(project)"
onSort="@command('onSortHeader', header=self)"
hflex="5" />
<listheader
label="${labels.RequirementsGridNumberSerie}"
sort="czech(numser)"
onSort="@command('onSortHeader', header=self)"
hflex="7" />
<listheader
label="${labels.RequirementsGridReqDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
hflex="13" />
<listheader
label="${labels.RequirementsGridCenter}"
sort="auto(centre.fullName)"
onSort="@command('onSortHeader', header=self)"
hflex="15" />
<listheader
label="${labels.RequirementsGridDeliveryDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
hflex="13" />
<listheader
label="${labels.Amount}"
sort="auto(sumTotal)"
onSort="@command('onSortHeader', header=self)"
align="right"
hflex="10" />
<listheader
label="${labels.RequirementsGridDescription}"
sort="czech(description)"
onSort="@command('onSortHeader', header=self)"
hflex="20" />
<listheader
sort="auto(ownedBy.fullName)"
onSort="@command('onSortHeader', header=self)"
label="${labels.ownedBy}"
hflex="15" />
</listhead>

@ -3,7 +3,7 @@
vflex="1"
hflex="7"
itemRenderer="@load(vm.requirementsItemRenderer)"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
mold="paging"
autopaging="true"
model="@load(vm.dataList)"
@ -13,34 +13,42 @@
<listheader
label="${labels.StudentProjectAbr}"
sort="auto(project)"
onSort="@command('onSortHeader', header=self)"
hflex="5" />
<listheader
label="${labels.RequirementsGridNumberSerie}"
sort="czech(numser)"
onSort="@command('onSortHeader', header=self)"
hflex="7" />
<listheader
label="${labels.RequirementsGridReqDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
hflex="13" />
<listheader
label="${labels.RequirementsGridCenter}"
sort="auto(centre.fullName)"
onSort="@command('onSortHeader', header=self)"
hflex="15" />
<listheader
label="${labels.RequirementsGridDeliveryDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
hflex="13" />
<listheader
label="${labels.Amount}"
sort="auto(sumTotal)"
onSort="@command('onSortHeader', header=self)"
align="right"
hflex="10" />
<listheader
label="${labels.RequirementsGridDescription}"
sort="czech(description)"
onSort="@command('onSortHeader', header=self)"
hflex="20" />
<listheader
sort="auto(ownedBy.fullName)"
onSort="@command('onSortHeader', header=self)"
label="${labels.ownedBy}"
hflex="15" />
</listhead>

@ -3,7 +3,7 @@
vflex="1"
hflex="7"
itemRenderer="@load(vm.requirementsItemRenderer)"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
mold="paging"
autopaging="true"
model="@load(vm.dataList)"
@ -13,34 +13,42 @@
<listheader
label="${labels.StudentProjectAbr}"
sort="auto(project)"
onSort="@command('onSortHeader', header=self)"
hflex="5" />
<listheader
label="${labels.RequirementsGridNumberSerie}"
sort="czech(numser)"
onSort="@command('onSortHeader', header=self)"
hflex="7" />
<listheader
label="${labels.RequirementsGridReqDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
hflex="13" />
<listheader
label="${labels.RequirementsGridCenter}"
sort="auto(centre.fullName)"
onSort="@command('onSortHeader', header=self)"
hflex="15" />
<listheader
label="${labels.RequirementsGridDeliveryDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
hflex="13" />
<listheader
label="${labels.Amount}"
sort="auto(sumTotal)"
onSort="@command('onSortHeader', header=self)"
align="right"
hflex="10" />
<listheader
label="${labels.RequirementsGridDescription}"
sort="czech(description)"
onSort="@command('onSortHeader', header=self)"
hflex="20" />
<listheader
sort="auto(ownedBy.fullName)"
onSort="@command('onSortHeader', header=self)"
label="${labelsownedBy}"
hflex="15" />
</listhead>

@ -12,7 +12,7 @@
model="@load(vm.dataList)"
mold="paging"
autopaging="true"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
itemRenderer="@load(vm.itemRenderer)"
onAfterRender="@command('afterRender')"
selectedIndex="@bind(vm.selIndex)">
@ -20,22 +20,27 @@
<listheader
label="${labels.TravelOrdersGridNumser}"
sort="czech(bill.requirement.numser)"
onSort="@command('onSortHeader', header=self)"
width="30%" />
<listheader
label="${labels.TravelOrdersGridReqDate}"
sort="auto(bill.requirement.reqDate)"
onSort="@command('onSortHeader', header=self)"
width="70%" />
<listheader
label="${labels.TravelOrdersGridFrom}"
sort="czech(bill.requirement.from)"
onSort="@command('onSortHeader', header=self)"
width="70%" />
<listheader
label="${labels.TravelOrdersGridTo}"
sort="czech(bill.requirement.to)"
onSort="@command('onSortHeader', header=self)"
width="70%" />
<listheader
label="${labels.TravelOrdersGridTotal}"
sort="auto(bill.total)"
onSort="@command('onSortHeader', header=self)"
align="right"
width="70%" />
<listheader

@ -10,7 +10,7 @@
<hbox vflex="1">
<listbox
model="@load(vm.dataList)"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
mold="paging"
autopaging="true"
hflex="7"
@ -21,30 +21,37 @@
<listheader
label="${labels.RequirementsGridNumberSerie}"
sort="czech(numser)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridReqDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
width="13%" />
<listheader
label="${labels.RequirementsGridCenter}"
sort="auto(centre.fullName)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridWorkgroup}"
sort="auto(workgroup.fullName)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridFrom}"
sort="czech(from)"
onSort="@command('onSortHeader', header=self)"
width="30%" />
<listheader
label="${labels.RequirementsGridTo}"
sort="czech(to)"
onSort="@command('onSortHeader', header=self)"
width="30%" />
<listheader
label="${labels.RequirementsGridOwnedBy}"
sort="auto(ownedBy.fullName)"
onSort="@command('onSortHeader', header=self)"
width="20%" />
</listhead>
<auxhead

@ -8,7 +8,7 @@
<hbox vflex="1">
<listbox
model="@load(vm.dataList)"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
mold="paging"
autopaging="true"
hflex="7"
@ -19,26 +19,32 @@
<listheader
label="${labels.RequirementsGridNumberSerie}"
sort="czech(numser)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridReqDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
width="13%" />
<listheader
label="${labels.RequirementsGridCenter}"
sort="auto(centre.fullName)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridFrom}"
sort="auto(from)"
onSort="@command('onSortHeader', header=self)"
width="40%" />
<listheader
label="${labels.RequirementsGridTo}"
sort="czech(to)"
onSort="@command('onSortHeader', header=self)"
width="40%" />
<listheader
label="${labels.RequirementsGridOwnedBy}"
sort="auto(ownedBy.fullName)"
onSort="@command('onSortHeader', header=self)"
width="20%" />
</listhead>
<auxhead

@ -8,7 +8,7 @@
<hbox vflex="1">
<listbox
model="@load(vm.dataList)"
selectedItem="@bind(vm.dataBean)"
selectedItem="@save(vm.dataBean)"
mold="paging"
autopaging="true"
hflex="7"
@ -19,30 +19,37 @@
<listheader
label="${labels.RequirementsGridNumberSerie}"
sort="czech(numser)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridReqDate}"
sort="auto(reqDate)"
onSort="@command('onSortHeader', header=self)"
width="13%" />
<listheader
label="${labels.RequirementsGridCenter}"
sort="auto(centre.fullName)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridWorkgroup}"
sort="auto(workgroup.fullName)"
onSort="@command('onSortHeader', header=self)"
width="10%" />
<listheader
label="${labels.RequirementsGridFrom}"
sort="czech(from)"
onSort="@command('onSortHeader', header=self)"
width="30%" />
<listheader
label="${labels.RequirementsGridTo}"
sort="czech(to)"
onSort="@command('onSortHeader', header=self)"
width="30%" />
<listheader
label="${labels.RequirementsGridOwnedBy}"
sort="auto(ownedBy.fullName)"
onSort="@command('onSortHeader', header=self)"
width="20%" />
</listhead>
<auxhead

Loading…
Cancel
Save