diff options
| author | Brian Ford | 2013-10-30 14:51:52 -0700 |
|---|---|---|
| committer | Brian Ford | 2013-10-30 16:21:02 -0700 |
| commit | 6578bd0c82b5cbb0cd6f6fea0787fb7ce820d4e7 (patch) | |
| tree | 01a0b7dc5af66d117adbe438b6020c3ae1a2abff /src/Angular.js | |
| parent | e19067c9bbac3c3bb450c80f73eb5518bd0db1a1 (diff) | |
| download | angular.js-6578bd0c82b5cbb0cd6f6fea0787fb7ce820d4e7.tar.bz2 | |
chore: move getBlockElements to Angular.js
Diffstat (limited to 'src/Angular.js')
| -rw-r--r-- | src/Angular.js | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/Angular.js b/src/Angular.js index 0cdeab3f..df236e05 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -79,7 +79,8 @@ -assertArg, -assertArgFn, -assertNotHasOwnProperty, - -getter + -getter, + -getBlockElements */ @@ -1318,3 +1319,25 @@ function getter(obj, path, bindFnToScope) { } return obj; } + +/** + * Return the siblings between `startNode` and `endNode`, inclusive + * @param {Object} object with `startNode` and `endNode` properties + * @returns jQlite object containing the elements + */ +function getBlockElements(block) { + if (block.startNode === block.endNode) { + return jqLite(block.startNode); + } + + var element = block.startNode; + var elements = [element]; + + do { + element = element.nextSibling; + if (!element) break; + elements.push(element); + } while (element !== block.endNode); + + return jqLite(elements); +} |
