in lib/locators.ts [255:323]
private byRepeaterInner(exact: boolean, repeatDescriptor: string): ProtractorLocator {
let name = 'by.' + (exact ? 'exactR' : 'r') + 'epeater';
return {
findElementsOverride: async(
driver: WebDriver, using: WebElement, rootSelector: string): Promise<WebElement[]> => {
return driver.findElements(By.js(
clientSideScripts.findAllRepeaterRows, repeatDescriptor, exact, using, rootSelector));
},
toString: (): string => {
return name + '("' + repeatDescriptor + '")';
},
row: (index: number): ProtractorLocator => {
return {
findElementsOverride: async(driver: WebDriver, using: WebElement, rootSelector: string):
Promise<WebElement[]> => {
return await driver.findElements(By.js(
clientSideScripts.findRepeaterRows, repeatDescriptor, exact, index, using,
rootSelector));
},
toString: (): string => {
return name + '(' + repeatDescriptor + '").row("' + index + '")"';
},
column: (binding: string): ProtractorLocator => {
return {
findElementsOverride:
async(driver: WebDriver, using: WebElement, rootSelector: string):
Promise<WebElement[]> => {
return driver.findElements(By.js(
clientSideScripts.findRepeaterElement, repeatDescriptor, exact, index,
binding, using, rootSelector));
},
toString: (): string => {
return name + '("' + repeatDescriptor + '").row("' + index + '").column("' +
binding + '")';
}
};
}
};
},
column: (binding: string): ProtractorLocator => {
return {
findElementsOverride: async(driver: WebDriver, using: WebElement, rootSelector: string):
Promise<WebElement[]> => {
return driver.findElements(By.js(
clientSideScripts.findRepeaterColumn, repeatDescriptor, exact, binding, using,
rootSelector));
},
toString: (): string => {
return name + '("' + repeatDescriptor + '").column("' + binding + '")';
},
row: (index: number): ProtractorLocator => {
return {
findElementsOverride:
async(driver: WebDriver, using: WebElement, rootSelector: string):
Promise<WebElement[]> => {
return driver.findElements(By.js(
clientSideScripts.findRepeaterElement, repeatDescriptor, exact, index,
binding, using, rootSelector));
},
toString: (): string => {
return name + '("' + repeatDescriptor + '").column("' + binding + '").row("' +
index + '")';
}
};
}
};
}
};
}