-
-
Notifications
You must be signed in to change notification settings - Fork 310
/
header.component.ts
60 lines (56 loc) · 2.25 KB
/
header.component.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { AltairPanel } from 'altair-graphql-core/build/plugin/panel';
import {
EnvironmentsState,
EnvironmentState,
} from 'altair-graphql-core/build/types/state/environments.interfaces';
import { PerWindowState } from 'altair-graphql-core/build/types/state/per-window.interfaces';
import { SettingsState } from 'altair-graphql-core/build/types/state/settings.interfaces';
import { WindowState } from 'altair-graphql-core/build/types/state/window.interfaces';
import { externalLink } from '../../utils';
@Component({
selector: 'app-header',
templateUrl: './header.component.html',
styles: [],
})
export class HeaderComponent {
@Input() windows: WindowState = {};
@Input() windowIds: string[] = [];
@Input() closedWindows: PerWindowState[] = [];
@Input() activeWindowId = '';
@Input() isElectron = false;
@Input() headerPanels: AltairPanel[] = [];
@Input() activeEnvironment?: EnvironmentState;
@Input() environments?: EnvironmentsState;
@Input() settings?: SettingsState;
@Output() activeWindowChange = new EventEmitter<string>();
@Output() newWindowChange = new EventEmitter();
@Output() removeWindowChange = new EventEmitter<string>();
@Output() duplicateWindowChange = new EventEmitter<string>();
@Output() windowNameChange = new EventEmitter<{
windowId: string;
windowName: string;
}>();
@Output() repositionWindowChange = new EventEmitter<{
currentPosition: number;
newPosition: number;
}>();
@Output() reopenClosedWindowChange = new EventEmitter();
@Output() togglePanelActiveChange = new EventEmitter<AltairPanel>();
@Output() selectActiveEnvironmentChange = new EventEmitter<
string | undefined
>();
@Output() toggleEnvironmentManagerChange = new EventEmitter<boolean>();
@Output() showSettingsDialogChange = new EventEmitter();
@Output() importWindowChange = new EventEmitter();
@Output() showImportCurlDialogChange = new EventEmitter<boolean>();
@Output() exportBackupDataChange = new EventEmitter();
@Output() importBackupDataChange = new EventEmitter();
constructor() {}
openLink(e: Event, url: string) {
externalLink(e, url);
}
trackById<T extends { id?: string }>(index: number, item: T) {
return item.id;
}
}