@@ -83,26 +83,26 @@ ButtonStyle? buttonStyleFromJSON(ThemeData theme, Map<String, dynamic>? json,
8383
8484FloatingActionButtonLocation parseFloatingActionButtonLocation (
8585 Control control, String propName, FloatingActionButtonLocation defValue) {
86- List < FloatingActionButtonLocation > fabLocations = [
87- FloatingActionButtonLocation .centerDocked,
88- FloatingActionButtonLocation .centerFloat,
89- FloatingActionButtonLocation .centerTop,
90- FloatingActionButtonLocation .endContained,
91- FloatingActionButtonLocation .endDocked,
92- FloatingActionButtonLocation .endFloat,
93- FloatingActionButtonLocation .endTop,
94- FloatingActionButtonLocation .miniCenterDocked,
95- FloatingActionButtonLocation .miniCenterFloat,
96- FloatingActionButtonLocation .miniCenterTop,
97- FloatingActionButtonLocation .miniEndFloat,
98- FloatingActionButtonLocation .miniEndTop,
99- FloatingActionButtonLocation .miniStartDocked,
100- FloatingActionButtonLocation .miniStartFloat,
101- FloatingActionButtonLocation .miniStartTop,
102- FloatingActionButtonLocation .startDocked,
103- FloatingActionButtonLocation .startFloat,
104- FloatingActionButtonLocation .startTop
105- ] ;
86+ const Map < String , FloatingActionButtonLocation > fabLocations = {
87+ "centerdocked" : FloatingActionButtonLocation .centerDocked,
88+ "centerfloat" : FloatingActionButtonLocation .centerFloat,
89+ "centertop" : FloatingActionButtonLocation .centerTop,
90+ "endcontained" : FloatingActionButtonLocation .endContained,
91+ "enddocked" : FloatingActionButtonLocation .endDocked,
92+ "endfloat" : FloatingActionButtonLocation .endFloat,
93+ "endtop" : FloatingActionButtonLocation .endTop,
94+ "minicenterdocked" : FloatingActionButtonLocation .miniCenterDocked,
95+ "minicenterfloat" : FloatingActionButtonLocation .miniCenterFloat,
96+ "minicentertop" : FloatingActionButtonLocation .miniCenterTop,
97+ "miniendfloat" : FloatingActionButtonLocation .miniEndFloat,
98+ "miniendtop" : FloatingActionButtonLocation .miniEndTop,
99+ "ministartdocked" : FloatingActionButtonLocation .miniStartDocked,
100+ "ministartfloat" : FloatingActionButtonLocation .miniStartFloat,
101+ "ministarttop" : FloatingActionButtonLocation .miniStartTop,
102+ "startdocked" : FloatingActionButtonLocation .startDocked,
103+ "startfloat" : FloatingActionButtonLocation .startFloat,
104+ "starttop" : FloatingActionButtonLocation .startTop
105+ } ;
106106
107107 try {
108108 OffsetDetails ? fabLocationOffsetDetails = parseOffset (control, propName);
@@ -113,11 +113,8 @@ FloatingActionButtonLocation parseFloatingActionButtonLocation(
113113 return defValue;
114114 }
115115 } catch (e) {
116- return fabLocations.firstWhere (
117- (l) =>
118- l.toString ().split ('.' ).last.toLowerCase () ==
119- control.attrString (propName, "" )! .toLowerCase (),
120- orElse: () => defValue);
116+ var key = control.attrString (propName, "" )! .toLowerCase ();
117+ return fabLocations.containsKey (key) ? fabLocations[key]! : defValue;
121118 }
122119}
123120
0 commit comments