Skip to content

Commit 98e186e

Browse files
Merge pull request #4 from alippo-com/release/9.2.3
feat:custom-check-box
2 parents 69f2be1 + f78f194 commit 98e186e

File tree

6 files changed

+620
-142
lines changed

6 files changed

+620
-142
lines changed

example/lib/sources/complete_form.dart

Lines changed: 136 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ class _CompleteFormState extends State<CompleteForm> {
5050
gradient: const LinearGradient(
5151
begin: Alignment.topCenter,
5252
end: Alignment.bottomCenter,
53-
colors: [Color(0x00FAF9F9), Color(0xFF94B8D2)],
53+
colors: [
54+
Color(0x00FAF9F9),
55+
Color(0xFF94B8D2),
56+
],
5457
),
5558
);
5659
InfoModalConfig config2 = InfoModalConfig(
@@ -97,6 +100,7 @@ class _CompleteFormState extends State<CompleteForm> {
97100
'gender': 'Male',
98101
'languages_filter': ['Dart'],
99102
'languages_choice': '5000 - 6000',
103+
'languages_selection': ['5000 - 6000', 'Java'],
100104
},
101105
skipDisabled: true,
102106
child: Column(
@@ -355,78 +359,141 @@ class _CompleteFormState extends State<CompleteForm> {
355359
FormBuilderValidators.maxLength(3),
356360
]),
357361
),
358-
Builder(builder: (context) {
359-
return AlippoSelectionCardGroups<String>(
360-
autovalidateMode: AutovalidateMode.onUserInteraction,
361-
name: 'languages_choice',
362-
// initialValue: 'Java',
363-
padding:
364-
const EdgeInsets.only(top: 20, bottom: 20, left: 50),
365-
expanded: true,
366-
spacing: 20,
367-
selectedLabelStyle: const TextStyle(
368-
color: Color(0xFFFAF9F9),
369-
fontSize: 18,
370-
fontFamily: 'PP Pangram Sans Rounded',
371-
fontWeight: FontWeight.w700,
372-
letterSpacing: -0.36,
362+
AlippoCustomRadioGroup<String>(
363+
autovalidateMode: AutovalidateMode.onUserInteraction,
364+
name: 'languages_choice',
365+
// initialValue: 'Java',
366+
padding: const EdgeInsets.only(top: 20, bottom: 20, left: 50),
367+
expanded: true,
368+
spacing: 20,
369+
selectedLabelStyle: const TextStyle(
370+
color: Color(0xFFFAF9F9),
371+
fontSize: 18,
372+
fontFamily: 'PP Pangram Sans Rounded',
373+
fontWeight: FontWeight.w700,
374+
letterSpacing: -0.36,
375+
),
376+
unselectedLabelStyle: const TextStyle(
377+
color: Color(0xFF1A4F76),
378+
fontSize: 18,
379+
fontFamily: 'PP Pangram Sans Rounded',
380+
fontWeight: FontWeight.w400,
381+
letterSpacing: -0.36,
382+
),
383+
selectedCardColor: const Color(0xFF1A4F76),
384+
defaultCardColor: const Color(0xFFFAF9F9),
385+
selectedShape: RoundedRectangleBorder(
386+
side: BorderSide(
387+
width: 2,
388+
color: Colors.black.withOpacity(0.36000001430511475),
389+
),
390+
borderRadius: BorderRadius.circular(17),
391+
),
392+
unselectedShape: RoundedRectangleBorder(
393+
side: BorderSide(
394+
width: 2,
395+
color: Colors.black.withOpacity(0.07000000029802322),
396+
),
397+
borderRadius: BorderRadius.circular(17),
398+
),
399+
options: [
400+
SelectionCardOption(
401+
value: '5000 - 6000',
402+
avatar: const Icon(Icons.monetization_on_outlined),
403+
infoModalConfig: config,
404+
),
405+
SelectionCardOption(
406+
value: 'Kotlin',
407+
avatar: const Icon(Icons.monetization_on_outlined),
408+
infoModalConfig: config2,
409+
),
410+
SelectionCardOption(
411+
value: 'Java',
412+
avatar: const Icon(Icons.monetization_on_outlined),
413+
infoModalConfig: config,
414+
),
415+
const SelectionCardOption(
416+
value: 'Swift',
417+
avatar: Icon(Icons.monetization_on_outlined),
418+
),
419+
SelectionCardOption(
420+
value: 'Objective-C',
421+
avatar: const Icon(Icons.monetization_on_outlined),
422+
infoModalConfig: config,
423+
),
424+
],
425+
onChanged: _onChanged,
426+
validator: FormBuilderValidators.compose([
427+
FormBuilderValidators.minLength(1),
428+
]),
429+
),
430+
AlippoCustomCheckBoxGroup<String>(
431+
autovalidateMode: AutovalidateMode.onUserInteraction,
432+
name: 'languages_selection',
433+
padding: const EdgeInsets.only(top: 20, bottom: 20, left: 50),
434+
expanded: true,
435+
spacing: 20,
436+
selectedLabelStyle: const TextStyle(
437+
color: Color(0xFFFAF9F9),
438+
fontSize: 18,
439+
fontFamily: 'PP Pangram Sans Rounded',
440+
fontWeight: FontWeight.w700,
441+
letterSpacing: -0.36,
442+
),
443+
unselectedLabelStyle: const TextStyle(
444+
color: Color(0xFF1A4F76),
445+
fontSize: 18,
446+
fontFamily: 'PP Pangram Sans Rounded',
447+
fontWeight: FontWeight.w400,
448+
letterSpacing: -0.36,
449+
),
450+
selectedCardColor: const Color(0xFF1A4F76),
451+
defaultCardColor: const Color(0xFFFAF9F9),
452+
selectedShape: RoundedRectangleBorder(
453+
side: BorderSide(
454+
width: 2,
455+
color: Colors.black.withOpacity(0.36000001430511475),
456+
),
457+
borderRadius: BorderRadius.circular(17),
458+
),
459+
unselectedShape: RoundedRectangleBorder(
460+
side: BorderSide(
461+
width: 2,
462+
color: Colors.black.withOpacity(0.07000000029802322),
463+
),
464+
borderRadius: BorderRadius.circular(17),
465+
),
466+
options: [
467+
SelectionCardOption(
468+
value: '5000 - 6000',
469+
avatar: const Icon(Icons.monetization_on_outlined),
470+
infoModalConfig: config,
373471
),
374-
unselectedLabelStyle: const TextStyle(
375-
color: Color(0xFF1A4F76),
376-
fontSize: 18,
377-
fontFamily: 'PP Pangram Sans Rounded',
378-
fontWeight: FontWeight.w400,
379-
letterSpacing: -0.36,
472+
SelectionCardOption(
473+
value: 'Kotlin',
474+
avatar: const Icon(Icons.monetization_on_outlined),
475+
infoModalConfig: config2,
380476
),
381-
selectedCardColor: const Color(0xFF1A4F76),
382-
defaultCardColor: const Color(0xFFFAF9F9),
383-
selectedShape: RoundedRectangleBorder(
384-
side: BorderSide(
385-
width: 2,
386-
color: Colors.black.withOpacity(0.36000001430511475),
387-
),
388-
borderRadius: BorderRadius.circular(17),
477+
SelectionCardOption(
478+
value: 'Java',
479+
avatar: const Icon(Icons.monetization_on_outlined),
480+
infoModalConfig: config,
389481
),
390-
unselectedShape: RoundedRectangleBorder(
391-
side: BorderSide(
392-
width: 2,
393-
color: Colors.black.withOpacity(0.07000000029802322),
394-
),
395-
borderRadius: BorderRadius.circular(17),
482+
const SelectionCardOption(
483+
value: 'Swift',
484+
avatar: Icon(Icons.monetization_on_outlined),
485+
),
486+
SelectionCardOption(
487+
value: 'Objective-C',
488+
avatar: const Icon(Icons.monetization_on_outlined),
489+
infoModalConfig: config,
396490
),
397-
options: [
398-
SelectionCardOption(
399-
value: '5000 - 6000',
400-
avatar: const Icon(Icons.monetization_on_outlined),
401-
infoModalConfig: config,
402-
),
403-
SelectionCardOption(
404-
value: 'Kotlin',
405-
avatar: const Icon(Icons.monetization_on_outlined),
406-
infoModalConfig: config2,
407-
),
408-
SelectionCardOption(
409-
value: 'Java',
410-
avatar: const Icon(Icons.monetization_on_outlined),
411-
infoModalConfig: config,
412-
),
413-
SelectionCardOption(
414-
value: 'Swift',
415-
avatar: const Icon(Icons.monetization_on_outlined),
416-
infoModalConfig: config2,
417-
),
418-
SelectionCardOption(
419-
value: 'Objective-C',
420-
avatar: const Icon(Icons.monetization_on_outlined),
421-
infoModalConfig: config,
422-
),
423-
],
424-
onChanged: _onChanged,
425-
validator: FormBuilderValidators.compose([
426-
FormBuilderValidators.minLength(1),
427-
]),
428-
);
429-
}),
491+
],
492+
onChanged: _onChanged,
493+
validator: FormBuilderValidators.compose([
494+
FormBuilderValidators.minLength(1),
495+
]),
496+
)
430497
],
431498
),
432499
),

lib/flutter_form_builder.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@ export 'src/widgets/grouped_checkbox.dart';
2020
export 'src/widgets/grouped_radio.dart';
2121
export 'src/options/form_builder_chip_option.dart';
2222
export 'src/options/display_values_enum.dart';
23-
export 'src/alippo_custom_form_components/fields/alippo_selection_card_group/alippo_selection_card_group.dart';
23+
export 'src/alippo_custom_form_components/fields/alippo_selection_card_group/alippo_custom_radio_group.dart';
24+
export 'src/alippo_custom_form_components/fields/alippo_selection_card_group/alippo_custom_checkbox_group.dart';
2425
export 'src/alippo_custom_form_components/fields/alippo_selection_card_group/comp/selection_card_options.dart';

0 commit comments

Comments
 (0)