containValidProperty static method

bool containValidProperty(
  1. IotWidget selectedParentWidget,
  2. IotWidgetElement selectedIotWidgetElement,
  3. DeviceIot device
)

Implementation

static bool containValidProperty(IotWidget selectedParentWidget,
    IotWidgetElement selectedIotWidgetElement, DeviceIot device) {
  bool valid = false;

  if (device.nodes.length > 0) {
    device.nodes.forEach((node) {
      if (node.isConfig == true) return;

      int nodeCount = 1;
      if (node.array.length > 0) {
        // multiple nodes
        List<String> splittedArr = node.array.split("-");
        int maxIndex = int.parse(splittedArr[1]);
        int minIndex = int.parse(splittedArr[0]);

        nodeCount = maxIndex - minIndex + 1;
      }

      for (int i = 0; i < nodeCount; i++) {
        node.properties.forEach((prop) {
          if (isDatatypeSettableRetainedSuitable(
                  selectedIotWidgetElement, prop) &&
              isVendorSuitable(selectedParentWidget, device.model)) {
            valid = true;
          }
        });
      }
    });
  }

  return valid;
}