mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 20:14:49 +00:00
* begin subnav implementation * implement subnav AND angular forms for comparison * unions working-ish, list of enums working * new form approach almost complete * finish new forms approach for action inputs and config * expandable list items and handlebars display * Config animation (#394) * config cammel * config animation Co-authored-by: Drew Ansbacher <drew.ansbacher@spiredigital.com> * improve server settings inputs, still needs work * delete all notifications, styling, and bugs * contracted by default Co-authored-by: Drew Ansbacher <drew.ansbacher@gmail.com> Co-authored-by: Drew Ansbacher <drew.ansbacher@spiredigital.com>
54 lines
2.8 KiB
HTML
54 lines
2.8 KiB
HTML
<ion-content class="subheader-padding">
|
|
|
|
<config-header [spec]="spec" [error]="error"></config-header>
|
|
|
|
<ion-button *ngIf="spec.subtype !== 'enum'" (click)="createOrEdit()">
|
|
<ion-icon name="add" color="primary"></ion-icon>
|
|
</ion-button>
|
|
|
|
<!-- enum list -->
|
|
<ion-item-group *ngIf="spec.subtype === 'enum'">
|
|
<ion-item-divider class="borderless"></ion-item-divider>
|
|
<ion-item-divider>
|
|
{{ value.length }} selected
|
|
<span *ngIf="min"> (min: {{ min }})</span>
|
|
<span *ngIf="max"> (max: {{ max }})</span>
|
|
<ion-button slot="end" fill="clear" color="primary" (click)="toggleSelectAll()">{{ selectAll ? 'All' : 'None' }}</ion-button>
|
|
</ion-item-divider>
|
|
<ion-item *ngFor="let option of options">
|
|
<ion-label>{{ option.value }}</ion-label>
|
|
<ion-checkbox slot="end" [(ngModel)]="option.checked" (click)="toggleSelected(option.value)"></ion-checkbox>
|
|
</ion-item>
|
|
</ion-item-group>
|
|
|
|
<!-- not enum list -->
|
|
<div *ngIf="spec.subtype !== 'enum'">
|
|
<ion-item-divider class="borderless"></ion-item-divider>
|
|
<ion-item-group>
|
|
<ion-item-divider style="font-size: small; color: var(--ion-color-medium);">
|
|
{{ value.length }}
|
|
<span *ngIf="value.length === 1">Entry</span>
|
|
<span *ngIf="value.length !== 1">Entries</span>
|
|
<span *ngIf="min"> (min: {{ min }})</span>
|
|
<span *ngIf="max"> (max: {{ max }})</span>
|
|
</ion-item-divider>
|
|
|
|
<div *ngFor="let v of value; index as i;">
|
|
<ion-item button detail="false" (click)="createOrEdit(i)">
|
|
<ion-icon size="small" slot="start" *ngIf="!annotations.members[i] || (annotations.members[i] | annotationStatus: 'NoChange')" style="margin-right: 15px; color: rgba(0,0,0,0); background: radial-gradient(#2a4e8970, #2a4e8970 35%, transparent 35%, transparent);" name="ellipse"></ion-icon>
|
|
<ion-icon size="small" slot="start" *ngIf="!annotations.members[i] || (annotations.members[i] | annotationStatus: 'Added')" style="margin-right: 15px; color: rgba(0,0,0,0); background: radial-gradient(#2a4e8970, #2a4e8970 35%, transparent 35%, transparent);" name="ellipse"></ion-icon>
|
|
<ion-icon size="small" slot="start" *ngIf="annotations.members[i] && (annotations.members[i] | annotationStatus: 'Edited')" style="margin-right: 15px" color="primary" name="ellipse"></ion-icon>
|
|
<ion-icon size="small" slot="start" *ngIf="annotations.members[i] && (annotations.members[i] | annotationStatus: 'Invalid')" style="margin-right: 15px" color="danger" name="warning-outline"></ion-icon>
|
|
|
|
<ion-label>{{ valueString[i] }}</ion-label>
|
|
|
|
<ion-button slot="end" fill="clear" (click)="presentAlertDelete(i, $event)">
|
|
<ion-icon slot="icon-only" name="close"></ion-icon>
|
|
</ion-button>
|
|
</ion-item>
|
|
</div>
|
|
</ion-item-group>
|
|
</div>
|
|
|
|
</ion-content>
|