UNPKG

ferngully-aurelia-tools

Version:

Ferngully Tools for Aurelia

53 lines 1.83 kB
export class DOMService { nextInDOM(_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; } getNext(_subject) { if ((!_subject) || (_subject.length === 0)) { return null; } if (_subject.next().length > 0) return _subject.next(); return this.getNext(_subject.parent()); } getPrev(_subject) { if ((!_subject) || (_subject.length === 0)) { return null; } if (_subject.prev().length > 0) return _subject.prev(); return this.getPrev(_subject.parent()); } searchFor(_selector, _subject, reverse) { if (_subject.is(_selector)) return _subject; else { let found = null; let _children = _subject.children().get(); if (reverse) { _children = _children.reverse(); } $(_children).each((i, child) => { found = this.searchFor(_selector, $(child), reverse); if (found) return false; else return; }); return found; } } } //# sourceMappingURL=dom-service.js.map