SmartSelect<T> constructor
SmartSelect<T> ({
- Key key,
- String title,
- String placeholder,
- bool isMultiChoice,
- S2SingleSelected<
T> singleSelected, - S2Validation<
S2SingleChosen< singleValidation,T> > - S2Validation<
S2SingleChosen< singleModalValidation,T> > - ValueChanged<
S2SingleSelected< singleOnChange,T> > - S2ChoiceSelect<
S2SingleState< singleOnSelect,T> , S2Choice<T> > - S2ModalOpen<
S2SingleState< singleOnModalOpen,T> > - S2ModalClose<
S2SingleState< singleOnModalClose,T> > - S2ModalWillOpen<
S2SingleState< singleOnModalWillOpen,T> > - S2ModalWillClose<
S2SingleState< singleOnModalWillClose,T> > - S2SingleBuilder<
T> singleBuilder, - S2MultiSelected<
T> multiSelected, - S2Validation<
S2MultiChosen< multiValidation,T> > - S2Validation<
S2MultiChosen< multiModalValidation,T> > - ValueChanged<
S2MultiSelected< multiOnChange,T> > - S2ChoiceSelect<
S2MultiState< multiOnSelect,T> , S2Choice<T> > - S2ModalOpen<
S2MultiState< multiOnModalOpen,T> > - S2ModalClose<
S2MultiState< multiOnModalClose,T> > - S2ModalWillOpen<
S2MultiState< multiOnModalWillOpen,T> > - S2ModalWillClose<
S2MultiState< multiOnModalWillClose,T> > - S2MultiBuilder<
T> multiBuilder, - S2ModalConfig modalConfig = const S2ModalConfig(),
- S2ChoiceConfig choiceConfig = const S2ChoiceConfig(),
- S2GroupConfig groupConfig = const S2GroupConfig(),
- List<
S2Choice< choiceItems,T> > - S2ChoiceLoader<
T> choiceLoader,
Default constructor
Implementation
SmartSelect({
Key key,
this.title,
this.placeholder,
this.isMultiChoice,
this.singleSelected,
this.singleValidation,
this.singleModalValidation,
this.singleOnChange,
this.singleOnSelect,
this.singleOnModalOpen,
this.singleOnModalClose,
this.singleOnModalWillOpen,
this.singleOnModalWillClose,
this.singleBuilder,
this.multiSelected,
this.multiValidation,
this.multiModalValidation,
this.multiOnChange,
this.multiOnSelect,
this.multiOnModalOpen,
this.multiOnModalClose,
this.multiOnModalWillOpen,
this.multiOnModalWillClose,
this.multiBuilder,
this.modalConfig = const S2ModalConfig(),
this.choiceConfig = const S2ChoiceConfig(),
this.groupConfig = const S2GroupConfig(),
this.choiceItems,
this.choiceLoader,
}) : assert(isMultiChoice != null),
assert(
title != null || modalConfig?.title != null,
'title and modalConfig.title must not be both null',
),
assert(
(isMultiChoice && multiOnChange != null && multiBuilder != null) ||
(!isMultiChoice &&
singleOnChange != null &&
singleBuilder != null),
isMultiChoice
? 'multiValue, multiOnChange, and multiBuilder must be not null in multiple choice'
: 'singleValue, singleOnChange, and singleBuilder must be not null in single choice',
),
assert(
(isMultiChoice && choiceConfig.type != S2ChoiceType.radios) ||
(!isMultiChoice && choiceConfig.type != S2ChoiceType.checkboxes),
isMultiChoice
? 'multiple choice can\'t use S2ChoiceType.radios'
: 'Single choice can\'t use S2ChoiceType.checkboxes',
),
assert(
choiceItems != null || choiceLoader != null,
'`choiceItems` and `choiceLoader` can\'t be both null',
),
super(key: key);