-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathdf-api-docs.component.html
More file actions
111 lines (106 loc) · 3.56 KB
/
df-api-docs.component.html
File metadata and controls
111 lines (106 loc) · 3.56 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<div
class="api-doc-button-container"
[class]="(isDarkMode | async) ? 'dark-theme' : ''"
style="display: flex; align-items: center; gap: 16px">
<button class="cancel-btn" mat-raised-button (click)="goBackToList()">
{{ 'goBack' | transloco }}
</button>
<button class="save-btn" mat-raised-button (click)="downloadApiDoc()">
{{ 'apiDocs.downloadApiDoc' | transloco }}
</button>
</div>
<!-- Moved API Keys Dropdown -->
<div class="api-keys-container" *ngIf="apiKeys.length">
<mat-form-field appearance="outline" class="api-keys-select">
<mat-label>{{ 'apiDocs.apiKeys.label' | transloco }}</mat-label>
<mat-select>
<mat-option [value]="null">
<div class="api-key-option">
<div class="key-info">
<span class="key-name"
>None (Session token based authentication)</span
>
<span class="key-preview"
>Uses session token to build the request</span
>
</div>
</div>
</mat-option>
<mat-option *ngFor="let key of apiKeys" [value]="key.apiKey">
<div class="api-key-option">
<div class="key-info">
<span class="key-name">{{ key.name }}</span>
<span class="key-preview">{{ key.apiKey | slice: 0 : 8 }}...</span>
</div>
<button
mat-icon-button
(click)="$event.stopPropagation(); copyApiKey(key.apiKey)">
<fa-icon [icon]="faCopy"></fa-icon>
</button>
</div>
</mat-option>
</mat-select>
</mat-form-field>
</div>
<div #swaggerInjectedContentContainer class="custom-swagger-content-wrapper">
<div
#healthBannerElement
class="api-health-banner"
*ngIf="healthStatus"
[ngClass]="{
'status-loading': healthStatus === 'loading',
'status-healthy': healthStatus === 'healthy',
'status-unhealthy': healthStatus === 'unhealthy',
'status-warning': healthStatus === 'warning'
}">
<div *ngIf="healthStatus === 'loading'">
<p>{{ 'apiHealthBanner.loading' | transloco }}</p>
</div>
<div *ngIf="healthStatus === 'healthy'">
<p>{{ 'apiHealthBanner.healthy' | transloco }}</p>
</div>
<div *ngIf="healthStatus === 'unhealthy'">
<p>
{{ 'apiHealthBanner.unhealthyBase' | transloco }}
<button
mat-button
color="accent"
class="view-details-button"
(click)="toggleUnhealthyErrorDetails()">
{{
(showUnhealthyErrorDetails
? 'apiHealthBanner.hideDetails'
: 'apiHealthBanner.viewDetails'
) | transloco
}}
</button>
</p>
<div *ngIf="showUnhealthyErrorDetails" class="unhealthy-error-details">
<pre>{{ healthError }}</pre>
</div>
</div>
<div *ngIf="healthStatus === 'warning'">
<p>
{{ 'apiHealthBanner.warningDefault' | transloco }}
</p>
</div>
</div>
<df-api-quickstart
*ngIf="serviceName"
[apiDocJson]="apiDocJson"
[serviceName]="serviceName"></df-api-quickstart>
<div
*ngIf="apiDocJson?.info?.group === 'Database'"
style="margin: 16px 0 8px 0">
<mat-slide-toggle
[(ngModel)]="expandSchema"
(ngModelChange)="reloadApiDocs()">
Populate table/field names in API docs
</mat-slide-toggle>
<div style="font-size: 12px; color: #888; margin-left: 40px">
When enabled, the API documentation will include live table and field
names from your database. (May be slow for large databases)
</div>
</div>
</div>
<div #apiDocumentation class="swagger-ui"></div>