Skip to content

Commit 3b547be

Browse files
author
gustavnavar
committed
0.0.7 (fix sorting and totals issues)
1 parent d53aa01 commit 3b547be

16 files changed

Lines changed: 246 additions & 78 deletions

File tree

demo/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</parent>
1111
<groupId>me.agno</groupId>
1212
<artifactId>demo</artifactId>
13-
<version>0.0.6</version>
13+
<version>0.0.7</version>
1414
<name>demo</name>
1515
<description>demo</description>
1616
<properties>

demo/src/main/java/me/agno/demo/controllers/SampleDataController.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public ResponseEntity<ItemsDTO<Order>> getOrdersGrid(HttpServletRequest request)
3535
Consumer<IGridColumnCollection<Order>> columns = c ->
3636
{
3737
c.add("orderID",Integer.class);
38-
c.add("orderDate", Instant.class);
38+
c.add("orderDate", Instant.class, "orderCustomDate");
3939
c.add("customer.companyName", String.class);
4040
c.add("customer.contactName", String.class);
4141
c.add("customer.country", String.class, true);
@@ -60,8 +60,8 @@ public ResponseEntity<ItemsDTO<Order>> getOrdersGridWithTotals(HttpServletReques
6060

6161
Consumer<IGridColumnCollection<Order>> columns = c ->
6262
{
63-
c.add("orderID",Integer.class);
64-
c.add("orderDate", Instant.class).max(true).min(true);
63+
c.add("orderID",Integer.class).sum(true);
64+
c.add("orderDate", Instant.class, "orderCustomDate").max(true).min(true);
6565
c.add("customer.companyName", String.class).max(true).min(true);
6666
c.add("customer.contactName", String.class).max(true).min(true);
6767
c.add("freight", BigDecimal.class).sum(true).average(true).max(true).min(true)

gridcore/pom.xml

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,10 @@
33
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
6-
<parent>
7-
<groupId>me.agno</groupId>
8-
<artifactId>Grid.Core</artifactId>
9-
<version>0.0.6</version>
10-
</parent>
116

127
<groupId>me.agno.gridcore</groupId>
138
<artifactId>gridcore</artifactId>
14-
<version>0.0.6</version>
9+
<version>0.0.7</version>
1510

1611
<properties>
1712
<maven.compiler.source>20</maven.compiler.source>

gridcore/src/main/java/me/agno/gridcore/filtering/GridFilterCondition.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,21 @@ public enum GridFilterCondition {
88
AND,
99
OR;
1010

11+
@Override public String toString() {
12+
return switch (this) {
13+
case NONE -> "0";
14+
case AND -> "1";
15+
case OR -> "2";
16+
default -> null;
17+
};
18+
}
19+
1120
public static GridFilterCondition fromString(String x) {
1221
try {
1322
return fromInteger(Integer.parseInt(x));
1423
}
1524
catch (NumberFormatException e) {
16-
return null;
25+
return GridFilterCondition.NONE;
1726
}
1827
}
1928

gridcore/src/main/java/me/agno/gridcore/filtering/GridFilterType.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,37 @@ public enum GridFilterType {
1616
CONDITION,
1717
NOT_EQUALS,
1818
IS_NULL,
19-
IS_NOT_NULL
19+
IS_NOT_NULL;
20+
21+
@Override public String toString() {
22+
return switch (this) {
23+
case NONE -> "0";
24+
case EQUALS -> "1";
25+
case CONTAINS -> "2";
26+
case STARTS_WITH -> "3";
27+
case ENDS_WIDTH -> "4";
28+
case GREATER_THAN -> "5";
29+
case LESS_THAN -> "6";
30+
case GREATER_THAN_OR_EQUALS -> "7";
31+
case LESS_THAN_OR_EQUALS -> "8";
32+
case CONDITION -> "9";
33+
case NOT_EQUALS -> "10";
34+
case IS_NULL -> "11";
35+
case IS_NOT_NULL -> "12";
36+
default -> null;
37+
};
38+
}
39+
40+
public static GridFilterType fromString(String x) {
41+
try {
42+
return fromInteger(Integer.parseInt(x));
43+
}
44+
catch (NumberFormatException e) {
45+
return GridFilterType.NONE;
46+
}
47+
}
48+
49+
public static GridFilterType fromInteger(int x) {
50+
return GridFilterType.values()[x];
51+
}
2052
}

gridcore/src/main/java/me/agno/gridcore/filtering/QueryStringFilterSettings.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,7 @@ private ColumnFilterValue CreateColumnData(String queryParameterValue)
4545
if (data.length != 2 && data.length != 3)
4646
return ColumnFilterValue.Null();
4747

48-
GridFilterType type;
49-
try {
50-
var ordinal = Integer.parseInt(data[1]);
51-
type = GridFilterType.values()[ordinal];
52-
}
53-
catch (Exception e) {
54-
type = GridFilterType.NONE;
55-
}
56-
48+
GridFilterType type = GridFilterType.fromString(data[1]);
5749
if (data.length == 2)
5850
return new ColumnFilterValue(data[0], type, "" );
5951
else

gridcore/src/main/java/me/agno/gridcore/pagination/PagingType.java

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,27 @@
66
public enum PagingType {
77
NONE,
88
PAGINATION,
9-
VIRTUALIZATION
9+
VIRTUALIZATION;
10+
11+
@Override public String toString() {
12+
return switch (this) {
13+
case NONE -> "0";
14+
case PAGINATION -> "1";
15+
case VIRTUALIZATION -> "2";
16+
default -> null;
17+
};
18+
}
19+
20+
public static PagingType fromString(String x) {
21+
try {
22+
return fromInteger(Integer.parseInt(x));
23+
}
24+
catch (NumberFormatException e) {
25+
return null;
26+
}
27+
}
28+
29+
public static PagingType fromInteger(int x) {
30+
return PagingType.values()[x];
31+
}
1032
}

gridcore/src/main/java/me/agno/gridcore/sorting/ColumnOrderValue.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,6 @@ public static ColumnOrderValue CreateColumnData(String queryParameterValue)
6969
if (data.length != 3)
7070
return ColumnOrderValue.Null();
7171

72-
return new ColumnOrderValue(data[0], GridSortDirection.valueOf(data[1]), Integer.parseInt(data[2]));
72+
return new ColumnOrderValue(data[0], GridSortDirection.fromString(data[1]), Integer.parseInt(data[2]));
7373
}
7474
}

gridcore/src/main/java/me/agno/gridcore/sorting/GridSortDirection.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,17 @@ public enum GridSortDirection {
1414
default -> null;
1515
};
1616
}
17+
18+
public static GridSortDirection fromString(String x) {
19+
try {
20+
return fromInteger(Integer.parseInt(x));
21+
}
22+
catch (NumberFormatException e) {
23+
return GridSortDirection.ASCENDING;
24+
}
25+
}
26+
27+
public static GridSortDirection fromInteger(int x) {
28+
return GridSortDirection.values()[x];
29+
}
1730
}

gridcore/src/main/java/me/agno/gridcore/sorting/GridSortMode.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,17 @@ public enum GridSortMode {
1414
default -> null;
1515
};
1616
}
17+
18+
public static GridSortMode fromString(String x) {
19+
try {
20+
return fromInteger(Integer.parseInt(x));
21+
}
22+
catch (NumberFormatException e) {
23+
return null;
24+
}
25+
}
26+
27+
public static GridSortMode fromInteger(int x) {
28+
return GridSortMode.values()[x];
29+
}
1730
}

0 commit comments

Comments
 (0)