UNPKG

angular-ui-tree

Version:

An AngularJS UI component that can sort nested lists, provides drag & drop support and doesn't depend on jQuery

43 lines (34 loc) 1.26 kB
var BASIC_EXAMPLE_URL = 'http://localhost:9000/#/basic-example'; var BasicExamplePageNode = function (nodeLocation) { var subnodesXpath = 'ol/li[contains(@class,"angular-ui-tree-node")]'; var nodeHandlesLocator = by.css('[ui-tree-handle]'); var nodeElement = element(by.xpath(xpathStringForNodeAtPosition(nodeLocation))); var handle = nodeElement.all(nodeHandlesLocator).first(); this.getElement = function() { return nodeElement; } this.getHandle = function() { return handle; }; this.getText = function () { return handle.getText(); }; this.getSubnodes = function() { return nodeElement.all(by.xpath(subnodesXpath)); } function xpathStringForNodeAtPosition(nodeLocation) { var xpathChunks = ['//*[@id="tree-root"]']; nodeLocation.forEach(function(index) { xpathChunks.push(subnodesXpath + '[' + index + ']') }); return xpathChunks.join('/'); } } var BasicExamplePage = function () { this.get = function () { browser.get(BASIC_EXAMPLE_URL); }; this.getRootNodes = function() { return element.all(by.repeater('node in data')); }; this.getNodeAtPosition = function () { return new BasicExamplePageNode([].slice.call(arguments)); }; }; module.exports = new BasicExamplePage();