UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

58 lines 2.1 kB
var DOMService = (function () { function DOMService() { } DOMService.prototype.nextInDOM = function (_selector, _subject, reverse, container) { var next = reverse ? this.getPrev(_subject) : this.getNext(_subject); while ((next != null) && (next.length !== 0)) { var found = this.searchFor(_selector, next, reverse); if (found) { return found; } next = reverse ? this.getPrev(next) : this.getNext(next); if ((next == null) && (container != null)) { next = reverse ? $(container).children().last() : $(container).children().first(); container = null; } } return null; }; DOMService.prototype.getNext = function (_subject) { if ((!_subject) || (_subject.length === 0)) { return null; } if (_subject.next().length > 0) return _subject.next(); return this.getNext(_subject.parent()); }; DOMService.prototype.getPrev = function (_subject) { if ((!_subject) || (_subject.length === 0)) { return null; } if (_subject.prev().length > 0) return _subject.prev(); return this.getPrev(_subject.parent()); }; DOMService.prototype.searchFor = function (_selector, _subject, reverse) { var _this = this; if (_subject.is(_selector)) return _subject; else { var found_1 = null; var _children = _subject.children().get(); if (reverse) { _children = _children.reverse(); } $(_children).each(function (i, child) { found_1 = _this.searchFor(_selector, $(child), reverse); if (found_1) return false; else return; }); return found_1; } }; return DOMService; }()); export { DOMService }; //# sourceMappingURL=dom-service.js.map