|
22 | 22 | class="resource-item" |
23 | 23 | *ngFor="let item of group.items" |
24 | 24 | [class.active]="isSelected(item)" |
| 25 | + [class.resource-item-ips]="isIpsSummaryItem(item)" |
25 | 26 | (click)="selectItem(item)"> |
26 | | - <span class="resource-item-label">{{ item.label }}</span> |
| 27 | + <span class="resource-item-label"> |
| 28 | + {{ item.label }} |
| 29 | + <span *ngIf="isIpsSummaryItem(item)" class="resource-item-badge">IPS</span> |
| 30 | + </span> |
27 | 31 | <span class="resource-item-subtitle">{{ item.subtitle }}</span> |
28 | 32 | </button> |
29 | 33 | </div> |
|
35 | 39 | </ng-container> |
36 | 40 |
|
37 | 41 | <div class="browser-actions"> |
| 42 | + <button |
| 43 | + mat-stroked-button |
| 44 | + color="primary" |
| 45 | + (click)="requestLocalIps()" |
| 46 | + [disabled]="isLocalIpsActionDisabled()" |
| 47 | + [matTooltip]="getLocalIpsButtonTooltip()" |
| 48 | + class="ips-summary-button"> |
| 49 | + <span class="browser-action-label"> |
| 50 | + @if (isGeneratingLocalIps) { |
| 51 | + <span class="inline-button-spinner fhir-action-spinner" aria-hidden="true"></span> |
| 52 | + } @else { |
| 53 | + <mat-icon>description</mat-icon> |
| 54 | + } |
| 55 | + <span>{{ isGeneratingLocalIps ? 'Generating local IPS...' : 'Generate Local IPS' }}</span> |
| 56 | + </span> |
| 57 | + </button> |
| 58 | + <span |
| 59 | + class="action-button-tooltip-wrapper" |
| 60 | + [matTooltip]="getServerIpsButtonTooltip()"> |
| 61 | + <button |
| 62 | + mat-stroked-button |
| 63 | + color="accent" |
| 64 | + (click)="requestServerIpsSummary()" |
| 65 | + [disabled]="isServerIpsActionDisabled()" |
| 66 | + class="ips-summary-button"> |
| 67 | + <span class="browser-action-label"> |
| 68 | + @if (isLoadingServerSummary || (isFhirMode() && isCheckingIpsSupport)) { |
| 69 | + <span class="inline-button-spinner fhir-action-spinner" aria-hidden="true"></span> |
| 70 | + } @else { |
| 71 | + <mat-icon>cloud_sync</mat-icon> |
| 72 | + } |
| 73 | + <span>{{ |
| 74 | + isLoadingServerSummary |
| 75 | + ? 'Requesting IPS from Server...' |
| 76 | + : (isFhirMode() && isCheckingIpsSupport) |
| 77 | + ? 'Checking IPS support...' |
| 78 | + : 'Request IPS Generation to Server' |
| 79 | + }}</span> |
| 80 | + </span> |
| 81 | + </button> |
| 82 | + </span> |
38 | 83 | <button |
39 | 84 | mat-stroked-button |
40 | 85 | color="warn" |
41 | 86 | (click)="requestDeleteAllEvents()" |
42 | | - [disabled]="isDeletingEvents" |
| 87 | + [disabled]="isDeletingEvents || isGeneratingLocalIps || isLoadingServerSummary" |
43 | 88 | title="Delete all clinical events for this patient" |
44 | 89 | class="delete-all-events-button"> |
45 | 90 | <mat-icon>delete_sweep</mat-icon> |
|
0 commit comments