getValidDevices static method

List<ValidDevice> getValidDevices(
  1. IotWidget selectedParentWidget,
  2. IotWidgetElement selectedIotWidgetElement,
  3. List<DeviceIot> devices
)

Implementation

static List<ValidDevice> getValidDevices(IotWidget selectedParentWidget,
    IotWidgetElement selectedIotWidgetElement, List<DeviceIot> devices) {
  List<ValidDevice> validDevices = [];

  devices.forEach((device) {
    validDevices.add(ValidDevice(
        id: device.id,
        device: device,
        valid: containValidProperty(
            selectedParentWidget, selectedIotWidgetElement, device)));
  });

  validDevices.sort((a, b) {
    // minus make a before b
    // plus make a after b
    // 0 if a == b

    if (a.valid && !b.valid) return 0;
    if (!a.valid && b.valid) return 1;

    return a.device.name.toLowerCase().compareTo(b.device.name.toLowerCase());
  });

  return validDevices;
}