returnLedger method

Implementation

Map<String, StandardSelectionCardElement> returnLedger() {
  Map<String, StandardSelectionCardElement> ledger = {};

  for (var element in allOptions) {
    if (selectedOptions != null && selectedOptions!.contains(element)) {
      ledger[element] = StandardSelectionCardElement(
        cardLabel: element,
        isCardSelected: true,
        onSelection: () => {
          if (selectedOptions != null &&
              selectedOptions?.contains(element) == true)
            {
              selectedOptions!.remove(element),
            }
          else if (selectedOptions != null &&
              selectedOptions?.contains(element) == false)
            {
              selectedOptions!.add(element),
            }
        },
      );
    } else {
      ledger[element] = ledger[element] = StandardSelectionCardElement(
        cardLabel: element,
        isCardSelected: false,
        onSelection: () => {
          if (selectedOptions != null &&
              selectedOptions?.contains(element) == true)
            {
              selectedOptions!.remove(element),
            }
          else if (selectedOptions != null &&
              selectedOptions?.contains(element) == false)
            {
              selectedOptions!.add(element),
            }
        },
      );
    }
  }

  return ledger;
}