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() ??
        [];
  }
}