SearchDropDown<T> constructor

const SearchDropDown<T>({
  1. Key? key,
  2. required List<ValueItem<T>> listItems,
  3. bool addMode = true,
  4. dynamic onAddItem(
    1. ValueItem<T>
    )?,
  5. ValueItem<T> newValueItem(
    1. String input
    )?,
  6. bool editMode = false,
  7. dynamic onEditItem(
    1. ValueItem<T>
    )?,
  8. bool deleteMode = true,
  9. dynamic onDeleteItem(
    1. ValueItem<T>
    )?,
  10. required dynamic updateSelectedItem(
    1. ValueItem<T>?
    ),
  11. int sortType = 0,
  12. bool confirmDelete = false,
  13. SimpleSearchbarSettings searchBarSettings = defaultSearchBarSettings,
  14. SimpleOverlaySettings overlayListSettings = defaultOverlaySettings,
  15. ValueItem<T>? selectedItem,
  16. DialogSettings? deleteDialogSettings,
  17. bool verifyInputItem(
    1. ValueItem<T>
    )?,
  18. DialogSettings? verifyDialogSettings,
  19. Widget? addAditionalWidget,
  20. Widget? defaultAditionalWidget,
  21. bool enabled = true,
})

Implementation

const SearchDropDown({
  super.key,
  required this.listItems,
  this.addMode = true,
  this.onAddItem,
  this.newValueItem,
  this.editMode = false,
  this.onEditItem,
  this.deleteMode = true,
  this.onDeleteItem,
  required this.updateSelectedItem,
  this.sortType = 0,
  this.confirmDelete = false,
  this.searchBarSettings = defaultSearchBarSettings,
  this.overlayListSettings = defaultOverlaySettings,
  this.selectedItem,
  this.deleteDialogSettings,
  this.verifyInputItem,
  this.verifyDialogSettings,
  this.addAditionalWidget,
  this.defaultAditionalWidget,
  this.enabled = true,
})  : assert(
          (addMode && (newValueItem != null && onAddItem != null)) ||
              !addMode,
          'addMode can only be used with newValueItem != null && onAddItem != null'),
      assert((deleteMode && onDeleteItem != null) || !deleteMode,
          'deleteMode can only be used with onDeleteItem != null'),
      assert((editMode && onEditItem != null) || !editMode,
          'ediMode can only be used with onEditItem != null');