Skip to content

Commit d2f5dfa

Browse files
committed
Check collection controls for visibility
1 parent fd8728b commit d2f5dfa

File tree

8 files changed

+32
-20
lines changed

8 files changed

+32
-20
lines changed

client/lib/controls/alert_dialog.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,12 @@ class _AlertDialogControlState extends State<AlertDialogControl> {
4444

4545
Widget _createAlertDialog() {
4646
bool disabled = widget.control.isDisabled || widget.parentDisabled;
47-
var titleCtrls = widget.children.where((c) => c.name == "title");
48-
var contentCtrls = widget.children.where((c) => c.name == "content");
49-
var actionCtrls = widget.children.where((c) => c.name == "action");
47+
var titleCtrls =
48+
widget.children.where((c) => c.name == "title" && c.isVisible);
49+
var contentCtrls =
50+
widget.children.where((c) => c.name == "content" && c.isVisible);
51+
var actionCtrls =
52+
widget.children.where((c) => c.name == "action" && c.isVisible);
5053
final actionsAlignment = parseMainAxisAlignment(
5154
widget.control, "actionsAlignment", MainAxisAlignment.start);
5255
if (titleCtrls.isEmpty && contentCtrls.isEmpty && actionCtrls.isEmpty) {

client/lib/controls/banner.dart

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,12 @@ class _BannerControlState extends State<BannerControl> {
4141

4242
Widget _createBanner() {
4343
bool disabled = widget.control.isDisabled || widget.parentDisabled;
44-
var leadingCtrls = widget.children.where((c) => c.name == "leading");
45-
var contentCtrls = widget.children.where((c) => c.name == "content");
46-
var actionCtrls = widget.children.where((c) => c.name == "action");
44+
var leadingCtrls =
45+
widget.children.where((c) => c.name == "leading" && c.isVisible);
46+
var contentCtrls =
47+
widget.children.where((c) => c.name == "content" && c.isVisible);
48+
var actionCtrls =
49+
widget.children.where((c) => c.name == "action" && c.isVisible);
4750

4851
if (contentCtrls.isEmpty) {
4952
return const ErrorControl("Banner does not have any content.");

client/lib/controls/container.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ class ContainerControl extends StatelessWidget {
2828

2929
var bgColor = HexColor.fromString(
3030
Theme.of(context), control.attrString("bgColor", "")!);
31-
var contentCtrls = children.where((c) => c.name == "content");
31+
var contentCtrls =
32+
children.where((c) => c.name == "content" && c.isVisible);
3233
bool disabled = control.isDisabled || parentDisabled;
3334

3435
return constrainedControl(

client/lib/controls/dropdown.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,10 @@ class _DropdownControlState extends State<DropdownControl> {
6161
_value = value;
6262
}
6363

64-
var prefixControls =
65-
itemsView.children.where((c) => c.name == "prefix");
66-
var suffixControls =
67-
itemsView.children.where((c) => c.name == "suffix");
64+
var prefixControls = itemsView.children
65+
.where((c) => c.name == "prefix" && c.isVisible);
66+
var suffixControls = itemsView.children
67+
.where((c) => c.name == "suffix" && c.isVisible);
6868

6969
var dropDown = DropdownButtonFormField<String>(
7070
autofocus: autofocus,

client/lib/controls/navigation_rail.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,10 @@ class _NavigationRailControlState extends State<NavigationRailControl> {
7575
widget.control.attrString("labelType", "")!.toLowerCase(),
7676
orElse: () => NavigationRailLabelType.all);
7777

78-
var leadingCtrls = widget.children.where((c) => c.name == "leading");
79-
var trailingCtrls = widget.children.where((c) => c.name == "trailing");
78+
var leadingCtrls =
79+
widget.children.where((c) => c.name == "leading" && c.isVisible);
80+
var trailingCtrls =
81+
widget.children.where((c) => c.name == "trailing" && c.isVisible);
8082

8183
var extended = widget.control.attrBool("extended", false)!;
8284

client/lib/controls/radio_group.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ class RadioGroupControl extends StatelessWidget {
2222
Widget build(BuildContext context) {
2323
debugPrint("RadioGroupControl build: ${control.id}");
2424

25-
var contentCtrls = children.where((c) => c.name == "content");
25+
var contentCtrls =
26+
children.where((c) => c.name == "content" && c.isVisible);
2627
bool disabled = control.isDisabled || parentDisabled;
2728

2829
if (contentCtrls.isEmpty) {

client/lib/controls/tabs.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ class _TabsControlState extends State<TabsControl>
122122
var text = tabView.control.attrString("text");
123123
var icon =
124124
getMaterialIcon(tabView.control.attrString("icon", "")!);
125-
var tabContentCtrls =
126-
tabView.children.where((c) => c.name == "tab_content");
125+
var tabContentCtrls = tabView.children
126+
.where((c) => c.name == "tab_content" && c.isVisible);
127127

128128
Widget tabChild;
129129
List<Widget> widgets = [];
@@ -159,8 +159,8 @@ class _TabsControlState extends State<TabsControl>
159159
child: TabBarView(
160160
controller: _tabController,
161161
children: viewModel.controlViews.map((tabView) {
162-
var contentCtrls =
163-
tabView.children.where((c) => c.name == "content");
162+
var contentCtrls = tabView.children
163+
.where((c) => c.name == "content" && c.isVisible);
164164
if (contentCtrls.isEmpty) {
165165
return const SizedBox.shrink();
166166
}

client/lib/controls/textfield.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,10 @@ class _TextFieldControlState extends State<TextFieldControl> {
9393
_controller.text = value;
9494
}
9595

96-
var prefixControls = widget.children.where((c) => c.name == "prefix");
97-
var suffixControls = widget.children.where((c) => c.name == "suffix");
96+
var prefixControls =
97+
widget.children.where((c) => c.name == "prefix" && c.isVisible);
98+
var suffixControls =
99+
widget.children.where((c) => c.name == "suffix" && c.isVisible);
98100

99101
bool shiftEnter = widget.control.attrBool("shiftEnter", false)!;
100102
bool multiline =

0 commit comments

Comments
 (0)