@@ -16,9 +16,9 @@ macOS | iOS
16
16
* Presently targeting macOS v11+ and iOS v14+\*
17
17
* Supporting both value and reference semantics (including Core Data, which uses the latter)
18
18
* Option to support a bound data source, where inline controls can directly mutate your data model
19
+ * Support for single-select, multi-select, or no selection
19
20
* Option to sort by column, with indicators and concise syntax
20
- * Option to specify a row background
21
- * Option to specify a row overlay
21
+ * Option to specify a row background and/or overlay
22
22
* On macOS, option for a hovering highlight, to indicate which row the mouse is over
23
23
* MINIMAL use of View erasure (i.e., use of ` AnyView ` ), which can impact scalability and performance\*\*
24
24
* No external dependencies!
@@ -28,11 +28,9 @@ Three table types are supported, as determined by the mechanism by which their h
28
28
### List
29
29
* Based on SwiftUI's ` List `
30
30
* Option to support moving of rows through drag and drop
31
- * Support for single-select, multi-select, or no selection at all
32
31
33
32
### Stack
34
33
* Based on ` ScrollView ` /` LazyVStack `
35
- * Support for single-select and no selection at all
36
34
37
35
### Grid
38
36
* Based on ` ScrollView ` /` LazyVGrid `
@@ -107,14 +105,14 @@ While `LazyVGrid` is used here to wrap the header and row items, you could alter
107
105
108
106
## Tabler Views
109
107
110
- _ Tabler_ offers twenty-one (21 ) variants of table views from which you can choose. They break down along the following lines:
108
+ _ Tabler_ offers twenty-seven (27 ) variants of table views from which you can choose. They break down along the following lines:
111
109
112
110
* Table View - the View name
113
111
* Type - each of the three table types differ in how they render:
114
112
- ** List** - based on ` List `
115
113
- ** Stack** - based on ` ScrollView ` /` LazyVStack `
116
114
- ** Grid** - based on ` ScrollView ` /` LazyVGrid `
117
- * Select - single-select, multi-select, or selection not supported
115
+ * Select - single-select, multi-select, or no selection
118
116
* Value - if checked, can be used with value types (e.g., struct values)
119
117
* Reference - if checked, can be used with reference types (e.g., class objects, Core Data, etc.)
120
118
* Filter - if checked, ` config.filter ` is supported (see caveat below)
@@ -136,12 +134,18 @@ Table View | Type | Select | Value | Reference | Filter
136
134
` TablerStack1 ` | ** Stack** | Single | ✓ | ✓ | ✓
137
135
` TablerStack1B ` | ** Stack** | Single | ✓ | | ✓\*
138
136
` TablerStack1C ` | ** Stack** | Single | | ✓ |
137
+ ` TablerStackM ` | ** Stack** | Multi | ✓ | ✓ | ✓
138
+ ` TablerStackMB ` | ** Stack** | Multi | ✓ | | ✓\*
139
+ ` TablerStackMC ` | ** Stack** | Multi | | ✓ |
139
140
` TablerGrid ` | ** Grid** | | ✓ | ✓ | ✓
140
141
` TablerGridB ` | ** Grid** | | ✓ | |
141
142
` TablerGridC ` | ** Grid** | | | ✓ |
142
143
` TablerGrid1 ` | ** Grid** | Single | ✓ | ✓ | ✓
143
144
` TablerGrid1B ` | ** Grid** | Single | ✓ | |
144
145
` TablerGrid1C ` | ** Grid** | Single | | ✓ |
146
+ ` TablerGridM ` | ** Grid** | Multi | ✓ | ✓ | ✓
147
+ ` TablerGridMB ` | ** Grid** | Multi | ✓ | |
148
+ ` TablerGridMC ` | ** Grid** | Multi | | ✓ |
145
149
146
150
\* filtering with bound values likely not scalable as implemented. If you can find a better way to implement, please submit a pull request!
147
151
0 commit comments