@@ -6,6 +6,7 @@ import SwiftUI
6
6
public extension TablerGrid {
7
7
// omitting Header
8
8
init ( _ config: Config = . init( ) ,
9
+ @ViewBuilder footer: @escaping FooterContent ,
9
10
@ViewBuilder row: @escaping RowContent ,
10
11
@ViewBuilder rowBackground: @escaping RowBackground ,
11
12
@ViewBuilder rowOverlay: @escaping RowOverlay
@@ -15,6 +16,7 @@ public extension TablerGrid {
15
16
{
16
17
self . init ( config,
17
18
header: { _ in EmptyView ( ) } ,
19
+ footer: footer,
18
20
row: row,
19
21
rowBackground: rowBackground,
20
22
rowOverlay: rowOverlay,
@@ -25,6 +27,7 @@ public extension TablerGrid {
25
27
// omitting Overlay
26
28
init ( _ config: Config = . init( ) ,
27
29
@ViewBuilder header: @escaping HeaderContent ,
30
+ @ViewBuilder footer: @escaping FooterContent ,
28
31
@ViewBuilder row: @escaping RowContent ,
29
32
@ViewBuilder rowBackground: @escaping RowBackground
30
33
, results: Results
@@ -33,6 +36,7 @@ public extension TablerGrid {
33
36
{
34
37
self . init ( config,
35
38
header: header,
39
+ footer: footer,
36
40
row: row,
37
41
rowBackground: rowBackground,
38
42
rowOverlay: { _ in EmptyView ( ) } ,
@@ -44,6 +48,7 @@ public extension TablerGrid {
44
48
// omitting Background
45
49
init ( _ config: Config = . init( ) ,
46
50
@ViewBuilder header: @escaping HeaderContent ,
51
+ @ViewBuilder footer: @escaping FooterContent ,
47
52
@ViewBuilder row: @escaping RowContent ,
48
53
@ViewBuilder rowOverlay: @escaping RowOverlay
49
54
, results: Results
@@ -52,6 +57,7 @@ public extension TablerGrid {
52
57
{
53
58
self . init ( config,
54
59
header: header,
60
+ footer: footer,
55
61
row: row,
56
62
rowBackground: { _ in EmptyView ( ) } ,
57
63
rowOverlay: rowOverlay,
@@ -61,6 +67,7 @@ public extension TablerGrid {
61
67
62
68
// omitting Header AND Overlay
63
69
init ( _ config: Config = . init( ) ,
70
+ @ViewBuilder footer: @escaping FooterContent ,
64
71
@ViewBuilder row: @escaping RowContent ,
65
72
@ViewBuilder rowBackground: @escaping RowBackground
66
73
, results: Results
@@ -69,6 +76,7 @@ public extension TablerGrid {
69
76
{
70
77
self . init ( config,
71
78
header: { _ in EmptyView ( ) } ,
79
+ footer: footer,
72
80
row: row,
73
81
rowBackground: rowBackground,
74
82
rowOverlay: { _ in EmptyView ( ) } ,
@@ -78,6 +86,7 @@ public extension TablerGrid {
78
86
79
87
// omitting Header AND Background
80
88
init ( _ config: Config = . init( ) ,
89
+ @ViewBuilder footer: @escaping FooterContent ,
81
90
@ViewBuilder row: @escaping RowContent ,
82
91
@ViewBuilder rowOverlay: @escaping RowOverlay
83
92
, results: Results
@@ -86,6 +95,7 @@ public extension TablerGrid {
86
95
{
87
96
self . init ( config,
88
97
header: { _ in EmptyView ( ) } ,
98
+ footer: footer,
89
99
row: row,
90
100
rowBackground: { _ in EmptyView ( ) } ,
91
101
rowOverlay: rowOverlay,
@@ -96,13 +106,15 @@ public extension TablerGrid {
96
106
// omitting Background AND Overlay
97
107
init ( _ config: Config = . init( ) ,
98
108
@ViewBuilder header: @escaping HeaderContent ,
109
+ @ViewBuilder footer: @escaping FooterContent ,
99
110
@ViewBuilder row: @escaping RowContent
100
111
, results: Results
101
112
)
102
113
where RowBack == EmptyView , RowOver == EmptyView
103
114
{
104
115
self . init ( config,
105
116
header: header,
117
+ footer: footer,
106
118
row: row,
107
119
rowBackground: { _ in EmptyView ( ) } ,
108
120
rowOverlay: { _ in EmptyView ( ) } ,
@@ -112,6 +124,7 @@ public extension TablerGrid {
112
124
113
125
// omitting Header, Background, AND Overlay
114
126
init ( _ config: Config = . init( ) ,
127
+ @ViewBuilder footer: @escaping FooterContent ,
115
128
@ViewBuilder row: @escaping RowContent
116
129
, results: Results
117
130
)
@@ -120,6 +133,156 @@ public extension TablerGrid {
120
133
{
121
134
self . init ( config,
122
135
header: { _ in EmptyView ( ) } ,
136
+ footer: footer,
137
+ row: row,
138
+ rowBackground: { _ in EmptyView ( ) } ,
139
+ rowOverlay: { _ in EmptyView ( ) } ,
140
+ results: results
141
+ )
142
+ }
143
+ // omitting Footer
144
+ init ( _ config: Config = . init( ) ,
145
+ @ViewBuilder header: @escaping HeaderContent ,
146
+ @ViewBuilder row: @escaping RowContent ,
147
+ @ViewBuilder rowBackground: @escaping RowBackground ,
148
+ @ViewBuilder rowOverlay: @escaping RowOverlay
149
+ , results: Results
150
+ )
151
+ where Footer == EmptyView
152
+ {
153
+ self . init ( config,
154
+ header: header,
155
+ footer: { _ in EmptyView ( ) } ,
156
+ row: row,
157
+ rowBackground: rowBackground,
158
+ rowOverlay: rowOverlay,
159
+ results: results
160
+ )
161
+ }
162
+
163
+ // omitting Header, Footer
164
+ init ( _ config: Config = . init( ) ,
165
+ @ViewBuilder row: @escaping RowContent ,
166
+ @ViewBuilder rowBackground: @escaping RowBackground ,
167
+ @ViewBuilder rowOverlay: @escaping RowOverlay
168
+ , results: Results
169
+ )
170
+ where Header == EmptyView , Footer == EmptyView
171
+ {
172
+ self . init ( config,
173
+ header: { _ in EmptyView ( ) } ,
174
+ footer: { _ in EmptyView ( ) } ,
175
+ row: row,
176
+ rowBackground: rowBackground,
177
+ rowOverlay: rowOverlay,
178
+ results: results
179
+ )
180
+ }
181
+
182
+ // omitting Footer, Overlay
183
+ init ( _ config: Config = . init( ) ,
184
+ @ViewBuilder header: @escaping HeaderContent ,
185
+ @ViewBuilder row: @escaping RowContent ,
186
+ @ViewBuilder rowBackground: @escaping RowBackground
187
+ , results: Results
188
+ )
189
+ where Footer == EmptyView , RowOver == EmptyView
190
+ {
191
+ self . init ( config,
192
+ header: header,
193
+ footer: { _ in EmptyView ( ) } ,
194
+ row: row,
195
+ rowBackground: rowBackground,
196
+ rowOverlay: { _ in EmptyView ( ) } ,
197
+ results: results
198
+ )
199
+
200
+ }
201
+
202
+ // omitting Footer, Background
203
+ init ( _ config: Config = . init( ) ,
204
+ @ViewBuilder header: @escaping HeaderContent ,
205
+ @ViewBuilder row: @escaping RowContent ,
206
+ @ViewBuilder rowOverlay: @escaping RowOverlay
207
+ , results: Results
208
+ )
209
+ where Footer == EmptyView , RowBack == EmptyView
210
+ {
211
+ self . init ( config,
212
+ header: header,
213
+ footer: { _ in EmptyView ( ) } ,
214
+ row: row,
215
+ rowBackground: { _ in EmptyView ( ) } ,
216
+ rowOverlay: rowOverlay,
217
+ results: results
218
+ )
219
+ }
220
+
221
+ // omitting Header, Footer AND Overlay
222
+ init ( _ config: Config = . init( ) ,
223
+ @ViewBuilder row: @escaping RowContent ,
224
+ @ViewBuilder rowBackground: @escaping RowBackground
225
+ , results: Results
226
+ )
227
+ where Header == EmptyView , Footer == EmptyView , RowOver == EmptyView
228
+ {
229
+ self . init ( config,
230
+ header: { _ in EmptyView ( ) } ,
231
+ footer: { _ in EmptyView ( ) } ,
232
+ row: row,
233
+ rowBackground: rowBackground,
234
+ rowOverlay: { _ in EmptyView ( ) } ,
235
+ results: results
236
+ )
237
+ }
238
+
239
+ // omitting Header, Footer AND Background
240
+ init ( _ config: Config = . init( ) ,
241
+ @ViewBuilder row: @escaping RowContent ,
242
+ @ViewBuilder rowOverlay: @escaping RowOverlay
243
+ , results: Results
244
+ )
245
+ where Header == EmptyView , Footer == EmptyView , RowBack == EmptyView
246
+ {
247
+ self . init ( config,
248
+ header: { _ in EmptyView ( ) } ,
249
+ footer: { _ in EmptyView ( ) } ,
250
+ row: row,
251
+ rowBackground: { _ in EmptyView ( ) } ,
252
+ rowOverlay: rowOverlay,
253
+ results: results
254
+ )
255
+ }
256
+
257
+ // omitting Footer, Background AND Overlay
258
+ init ( _ config: Config = . init( ) ,
259
+ @ViewBuilder header: @escaping HeaderContent ,
260
+ @ViewBuilder row: @escaping RowContent
261
+ , results: Results
262
+ )
263
+ where Footer == EmptyView , RowBack == EmptyView , RowOver == EmptyView
264
+ {
265
+ self . init ( config,
266
+ header: header,
267
+ footer: { _ in EmptyView ( ) } ,
268
+ row: row,
269
+ rowBackground: { _ in EmptyView ( ) } ,
270
+ rowOverlay: { _ in EmptyView ( ) } ,
271
+ results: results
272
+ )
273
+ }
274
+
275
+ // omitting Header, Footer, Background, AND Overlay
276
+ init ( _ config: Config = . init( ) ,
277
+ @ViewBuilder row: @escaping RowContent
278
+ , results: Results
279
+ )
280
+
281
+ where Header == EmptyView , Footer == EmptyView , RowBack == EmptyView , RowOver == EmptyView
282
+ {
283
+ self . init ( config,
284
+ header: { _ in EmptyView ( ) } ,
285
+ footer: { _ in EmptyView ( ) } ,
123
286
row: row,
124
287
rowBackground: { _ in EmptyView ( ) } ,
125
288
rowOverlay: { _ in EmptyView ( ) } ,
0 commit comments