MultipleSearchDropDown<T> constructor

const MultipleSearchDropDown<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 deleteMode = true,
  7. dynamic onDeleteItem(
    1. ValueItem<T>
    )?,
  8. bool editMode = false,
  9. dynamic onEditItem(
    1. ValueItem<T>
    )?,
  10. dynamic onClearItem(
    1. ValueItem<T>
    )?,
  11. dynamic onClearList()?,
  12. required dynamic updateSelectedItems(
    1. List<ValueItem<T>>
    ),
  13. int sortType = 0,
  14. bool confirmDelete = false,
  15. required List<ValueItem<T>> selectedItems,
  16. DialogSettings? deleteDialogSettings,
  17. bool verifyInputItem(
    1. ValueItem<T>
    )?,
  18. DialogSettings? verifyDialogSettings,
  19. SimpleSearchbarSettings searchBarSettings = defaultSearchBarSettings,
  20. SimpleOverlaySettings overlayListSettings = defaultOverlaySettings,
  21. Widget? addAditionalWidget,
  22. Widget? defaultAditionalWidget,
  23. bool enabled = true,
})

Implementation

const MultipleSearchDropDown({
  super.key,
  required this.listItems,
  this.addMode = true,
  this.onAddItem,
  this.newValueItem,
  this.deleteMode = true,
  this.onDeleteItem,
  this.editMode = false,
  this.onEditItem,
  this.onClearItem,
  this.onClearList,
  required this.updateSelectedItems,
  this.sortType = 0,
  this.confirmDelete = false,
  required this.selectedItems,
  this.deleteDialogSettings,
  this.verifyInputItem,
  this.verifyDialogSettings,
  this.searchBarSettings = defaultSearchBarSettings,
  this.overlayListSettings = defaultOverlaySettings,
  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,
          'editMode can only be used with onEditItem != null');