selectFlightClass method

void selectFlightClass(
  1. GlobalKey<State<StatefulWidget>> positionKey,
  2. BuildContext context
)

Implementation

void selectFlightClass(GlobalKey positionKey, BuildContext context) {
  final RenderBox renderBox =
      positionKey.currentContext!.findRenderObject() as RenderBox;
  final position = renderBox.localToGlobal(Offset.zero);
  final size = renderBox.size;
  showMenu(
    color: Colors.white,
    context: context,
    position: RelativeRect.fromLTRB(
      position.dx,
      position.dy + size.height,
      position.dx + size.width,
      position.dy + size.height * 2,
    ), // Position the dropdown
    items: [
      const PopupMenuItem<int>(
        value: 0,
        child: Text('All Flights'),
      ),
      const PopupMenuItem<int>(
        value: 1,
        child: Text('First Class'),
      ),
      const PopupMenuItem<int>(
        value: 2,
        child: Text('Business Class'),
      ),
      const PopupMenuItem<int>(
        value: 3,
        child: Text('Premium Economy'),
      ),
      const PopupMenuItem<int>(
        value: 4,
        child: Text('Economy'),
      ),
    ],
    elevation: 8.0,
  ).then((value) {
    if (value != null) {
      searchClassIndex.value = value;
    }
  });
}