cloneList method

void cloneList({
  1. bool addToLists = false,
})

Implementation

void cloneList({bool addToLists = false}) async {
  list.clear();

  if (addToLists) {
    int skipCount = list.length;
    int skipSubCount = subList.length;
    list.addAll(widget.mainList.skip(skipCount).map((e) => UFUMultiSelectModel.clone(
            e..isSelect = selectedItems.any((element) => e.id == element.id))).toList());

    if(widget.showSubList != null) {
      subList.addAll(widget.subList!.skip(skipSubCount).map((e) =>
          UFUMultiSelectModel.clone(e
            ..isSelect = selectedSubListItems.any((element) =>
            e.id == element.id))).toList());
    }
  } else {
    list = widget.mainList.map((e) => UFUMultiSelectModel.clone(e)).toList();
    subList = widget.subList?.map((e) => UFUMultiSelectModel.clone(e)).toList() ?? [];
  }
}