Следующий скрипт оболочки может сделать трюк:
if git rev-list $SHA1 | grep -q $SHA2 ; then echo "$SHA2 is ancestor of $SHA1"
elif git rev-list $SHA2 | grep -q $SHA1 ; then echo "$SHA1 is ancestor of $SHA2"
else echo "$SHA1 unrelated to $SHA2" ; fi
Или, чтобы аккуратно включить его в псевдоним git:
git config --global alias.related '!function git_related() { if git rev-list $1 | grep -q $2 ; then echo "$2 is ancestor of $1" ; elif git rev-list $2 | grep -q $1 ; then echo "$1 is ancestor of $2" ; else echo "$1 unrelated to $2" ; fi } ; git_related $1 $2'
Итак, я нашел довольно простое решение, которое я публикую здесь для будущего себя, и на тот случай, если кто-то посчитает его полезным. Это был только вопрос изменения положения некоторых элементов
(clickOutside)="clickEvent($event)"
на
<ul class="nav-right">
Так что в итоге моя html разметка выглядит так:
<ul class="nav-right" (clickOutside)="clickEvent($event)">
<li (click)="toggleDropdown('item1')">
<span class="selector">
my Selector
</span>
<ul *ngIf="isActive('item1')">
<li *ngFor="let value of values">
{{city.name}}
</li>
</ul>
</li>
<li (click)="toggleDropdown('other')">
<span class="selector">
Other
</span>
<ul *ngIf="isActive('other')">
<li *ngFor="let otherValue of otherValues">
{{otherValue.name}}
</li>
</ul>
</li>
</ul>
, потому что чего я хотел добиться, так это закрыть все выпадающие списки, когда кто-нибудь щелкает за пределами навигационной панели