Skip to content

Commit 7ca3f2d

Browse files
committed
Pivot table: show when maximum number of read rows is exceeded (closes #262)
Refactoring + bugfix in web grid / tree tables
1 parent 5995bf9 commit 7ca3f2d

File tree

20 files changed

+403
-303
lines changed

20 files changed

+403
-303
lines changed

server/src/main/java/lsfusion/server/logics/form/interactive/instance/object/GroupObjectInstance.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public int getPageSize() {
163163
}
164164
public int getGroupPageSize() {
165165
assert !isInTree();
166-
return getPageSize() * 5;
166+
return getPageSize();
167167
}
168168

169169
public void setPageSize(Integer pageSize) {

web-client/src/main/java/lsfusion/gwt/client/ClientMessages.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@ public interface ClientMessages extends Messages {
114114
String rmiConnectionLostExit();
115115
String rmiConnectionLostReconnect();
116116

117+
String formGridPageSizeHit(int pagesize);
118+
String formGridPageSizeShowAll();
119+
117120
String propertyTooltipCanonicalName();
118121
String propertyTooltipTable();
119122
String propertyTooltipObjects();

web-client/src/main/java/lsfusion/gwt/client/ClientMessages.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ formGridMapView=Map
3333
formGridManualUpdate=Manual update
3434
formGridUpdate=Update
3535

36+
formGridPageSizeHit=Only first {0} rows are shown...
37+
formGridPageSizeShowAll=Show all
38+
3639
formTree=Tree
3740
formTreeExpand = Expand whole tree
3841
formTreeExpandCurrent = Expand current object

web-client/src/main/java/lsfusion/gwt/client/ClientMessages_ru.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ formGridMapView=\u041A\u0430\u0440\u0442\u0430
3131
formGridManualUpdate=\u0420\u0443\u0447\u043D\u043E\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435
3232
formGridUpdate=\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C
3333

34+
formGridPageSizeHit=\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0435\u0440\u0432\u044B\u0435 {0} \u0440\u044F\u0434\u043E\u0432...
35+
formGridPageSizeShowAll=\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435
36+
3437
formTree=\u0414\u0435\u0440\u0435\u0432\u043E
3538
formTreeExpand = \u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0451 \u0434\u0435\u0440\u0435\u0432\u043E
3639
formTreeExpandCurrent = \u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0438\u0439 \u043E\u0431\u044A\u0435\u043A\u0442

web-client/src/main/java/lsfusion/gwt/client/base/view/grid/DataGrid.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,6 +1035,9 @@ public HeaderBuilder<T> getFooterBuilder() {
10351035
public Header<?> getHeader(int index) {
10361036
return headers.get(index);
10371037
}
1038+
public int getHeaderIndex(Header<?> header) {
1039+
return headers.indexOf(header);
1040+
}
10381041

10391042
private boolean hasHeaders() {
10401043
return nonNullHeadersCount != 0;

web-client/src/main/java/lsfusion/gwt/client/form/object/table/grid/controller/GGridController.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@
2727
import lsfusion.gwt.client.form.property.*;
2828

2929
import java.util.*;
30+
import java.util.function.Consumer;
31+
import java.util.function.Supplier;
3032

3133
import static lsfusion.gwt.client.base.GwtClientUtils.setupFillParent;
3234

@@ -129,7 +131,11 @@ private void setMapTableView() {
129131
gridTableButton.showBackground(false);
130132
pivotTableButton.showBackground(false);
131133
}
132-
134+
private void changeMode(Runnable updateView) {
135+
updateView.run();
136+
formController.changeMode(groupObject, table.isGroup(), table.getPageSize(), table.getViewType());
137+
}
138+
133139
private boolean manual;
134140
private void setUpdateMode(boolean manual) {
135141
this.manual = manual;
@@ -234,8 +240,7 @@ public void addListener() {
234240
gridTableButton = new GToolbarButton("grid.png", messages.formGridTableView()) {
235241
public void addListener() {
236242
addClickHandler(event -> {
237-
setGridTableView();
238-
formController.changeMode(groupObject, false, -1, GGridViewType.GRID);
243+
changeMode(() -> setGridTableView());
239244
});
240245
}
241246
};
@@ -244,8 +249,7 @@ public void addListener() {
244249
pivotTableButton = new GToolbarButton("pivot.png", messages.formGridPivotView()) {
245250
public void addListener() {
246251
addClickHandler(event -> {
247-
setPivotTableView();
248-
formController.changeMode(groupObject, true, 1000, GGridViewType.PIVOT);
252+
changeMode(() -> setPivotTableView());
249253
});
250254
}
251255
};
@@ -255,8 +259,7 @@ public void addListener() {
255259
mapTableButton = new GToolbarButton("map.png", messages.formGridMapView()) {
256260
public void addListener() {
257261
addClickHandler(event -> {
258-
setMapTableView();
259-
formController.changeMode(groupObject, false, 1000, GGridViewType.MAP);
262+
changeMode(() -> setMapTableView());
260263
});
261264
}
262265
};
@@ -632,6 +635,9 @@ protected void changeFilter(List<GPropertyFilter> conditions) {
632635
public void changeGroupMode(List<GPropertyDraw> properties, List<GGroupObjectValue> columnKeys, int aggrProps, GPropertyGroupType aggrType) {
633636
formController.changeMode(groupObject, true, properties, columnKeys, aggrProps, aggrType, null, false, null, GGridViewType.PIVOT);
634637
}
638+
public void changePageSize(int pageSize) {
639+
formController.changeMode(groupObject, false, null, null, 0, null, pageSize, false, null, null);
640+
}
635641

636642
@Override
637643
public void setFilterVisible(boolean visible) {

0 commit comments

Comments
 (0)