|
|
@@ -1,33 +1,55 @@
|
|
|
-h3 Connections
|
|
|
+.d-flex.align-items-center.mb-3
|
|
|
+ h3.m-0 SSH Connections
|
|
|
|
|
|
-.list-group.list-group-flush.mt-3.mb-3
|
|
|
+ button.btn.btn-primary.ml-auto((click)='createConnection()')
|
|
|
+ i.fas.fa-fw.fa-plus
|
|
|
+ span.ml-2 Add connection
|
|
|
+
|
|
|
+.input-group.mb-3
|
|
|
+ .input-group-prepend
|
|
|
+ .input-group-text
|
|
|
+ i.fas.fa-fw.fa-search
|
|
|
+ input.form-control(type='search', placeholder='Filter', [(ngModel)]='filter')
|
|
|
+
|
|
|
+.list-group.list-group-light.mt-3.mb-3
|
|
|
ng-container(*ngFor='let group of childGroups')
|
|
|
- .list-group-item.list-group-item-action.d-flex.align-items-center(
|
|
|
- (click)='groupCollapsed[group.name] = !groupCollapsed[group.name]'
|
|
|
- )
|
|
|
- .fa.fa-fw.fa-chevron-right(*ngIf='groupCollapsed[group.name]')
|
|
|
- .fa.fa-fw.fa-chevron-down(*ngIf='!groupCollapsed[group.name]')
|
|
|
- span.ml-3.mr-auto {{group.name || "Ungrouped"}}
|
|
|
- button.btn.btn-outline-info.ml-2((click)='editGroup(group)')
|
|
|
- i.fas.fa-edit
|
|
|
- button.btn.btn-outline-danger.ml-1((click)='deleteGroup(group)')
|
|
|
- i.fas.fa-trash
|
|
|
- ng-container(*ngIf='!groupCollapsed[group.name]')
|
|
|
- .list-group-item.list-group-item-action.pl-5.d-flex.align-items-center(
|
|
|
- *ngFor='let connection of group.connections',
|
|
|
- (click)='editConnection(connection)'
|
|
|
+ ng-container(*ngIf='isGroupVisible(group)')
|
|
|
+ .list-group-item.list-group-item-action.d-flex.align-items-center(
|
|
|
+ (click)='groupCollapsed[group.name] = !groupCollapsed[group.name]'
|
|
|
)
|
|
|
- .mr-auto
|
|
|
- div {{connection.name}}
|
|
|
- .text-muted {{connection.host}}
|
|
|
- button.btn.btn-outline-info.ml-1((click)='$event.stopPropagation(); copyConnection(connection)')
|
|
|
- i.fas.fa-copy
|
|
|
- button.btn.btn-outline-danger.ml-1((click)='$event.stopPropagation(); deleteConnection(connection)')
|
|
|
+ .fa.fa-fw.fa-chevron-right(*ngIf='groupCollapsed[group.name]')
|
|
|
+ .fa.fa-fw.fa-chevron-down(*ngIf='!groupCollapsed[group.name]')
|
|
|
+ span.ml-3.mr-auto {{group.name || "Ungrouped"}}
|
|
|
+ button.btn.btn-sm.btn-link.hover-reveal.ml-2(
|
|
|
+ [class.invisible]='!group.name',
|
|
|
+ (click)='$event.stopPropagation(); editGroup(group)'
|
|
|
+ )
|
|
|
+ i.fas.fa-edit
|
|
|
+ button.btn.btn-sm.btn-link.hover-reveal.ml-2(
|
|
|
+ [class.invisible]='!group.name',
|
|
|
+ (click)='$event.stopPropagation(); deleteGroup(group)'
|
|
|
+ )
|
|
|
i.fas.fa-trash
|
|
|
|
|
|
-button.btn.btn-primary((click)='createConnection()')
|
|
|
- i.fas.fa-fw.fa-plus
|
|
|
- span.ml-2 Add connection
|
|
|
+ ng-container(*ngIf='!groupCollapsed[group.name]')
|
|
|
+ ng-container(*ngFor='let connection of group.connections')
|
|
|
+ .list-group-item.list-group-item-action.pl-5.d-flex.align-items-center(
|
|
|
+ *ngIf='isConnectionVisible(connection)',
|
|
|
+ (click)='editConnection(connection)'
|
|
|
+ )
|
|
|
+ .mr-3 {{connection.name}}
|
|
|
+ .mr-auto.text-muted {{connection.host}}
|
|
|
+
|
|
|
+ .hover-reveal(ngbDropdown, placement='bottom-right')
|
|
|
+ button.btn.btn-link(ngbDropdownToggle, (click)='$event.stopPropagation()')
|
|
|
+ i.fas.fa-fw.fa-ellipsis-v
|
|
|
+ div(ngbDropdownMenu)
|
|
|
+ button.dropdown-item((click)='$event.stopPropagation(); copyConnection(connection)')
|
|
|
+ i.fas.fa-copy
|
|
|
+ span Duplicate
|
|
|
+ button.dropdown-item((click)='$event.stopPropagation(); deleteConnection(connection)')
|
|
|
+ i.fas.fa-trash
|
|
|
+ span Delete
|
|
|
|
|
|
h3.mt-5 Options
|
|
|
|