//NumberOfTerminals local code let drop = this.getField("NumberOfTerminals").value; let parentMask = /^[\d]{1,2}$/; let childMask = /^[\d]{1,2}-[\d]{1,2}$/; let tapsMask = /^\d{1,2}(-\d{1,2})?$/; let layerList = this.getOCGs(); for (let i = 0; i < layerList.length; i++) { var fname = layerList[i].name; //check layer name and if it's greater than number of terminals if (tapsMask.test(fname) && (fname > drop || fname.substring(0, fname.indexOf("-")) > drop)) { //if match, turn off layer layerList[i].state = false; layerList[i].initstate = false; } else if (parentMask.test(fname)) { layerList[i].state = true; layerList[i].initstate = true; } else if (childMask.test(fname)) { var currentTap = fname.substring(0, fname.indexOf("-")); if (fname.substring(fname.indexOf("-") + 1) > this.getField("NumberOfTaps" + currentTap).value) { layerList[i].state = false; layerList[i].initstate = false; } else { layerList[i].state = true; layerList[i].initstate = true; } } }