<div>
<div class="row">
<div class="input-group col-lg-3">
- <div class="input-group-text">
<div class="input-group-text" i18n>Start Date</div>
<eg-date-select [initialDate]="today" (onChangeAsYmd)="onStartDateChange($event)"></eg-date-select>
- </div>
</div>
<div class="input-group col-lg-3">
- <div class="input-group-text">
<div class="input-group-text" i18n>End Date</div>
<eg-date-select [initialDate]="today" (onChangeAsYmd)="onEndDateChange($event)"></eg-date-select>
- </div>
</div>
<div class="input-group col-lg-4">
- <div class="input-group-text">
<div class="input-group-text" i18n>View reports for</div>
- </div>
<eg-org-select [applyDefault]="true" [disableOrgs]="disabledOrgs" (onChange)="onOrgChange($event)"></eg-org-select>
</div>
<div class="col-lg-2">
<div class="row" [ngClass]="isDialog() ? '' : 'mt-3'">
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12'">
<div class="input-group">
- <div class="input-group-text">
- <label for="associate-item-barcode" class="form-label input-group-text" i18n>Barcode</label>
- </div>
<input type="text" class="flex-grow-1" id="associate-item-barcode"
[(ngModel)]="barcodeInput" (click)="$event.target.select()"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
</div>
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12 mt-3'">
<div class="input-group">
- <div class="input-group-text">
- <label for="associate-item-relationship" class="form-label input-group-text" i18n>Relationship</label>
- </div>
+ <label for="associate-item-relationship" class="form-label input-group-text" i18n>Relationship</label>
<input type="text" [(ngModel)]="relationshipInput" id="associate-item-relationship"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'" placeholder-i18n
placeholder="e.g. Required" class="flex-grow-1" />
<input type="text" [(ngModel)]="tempCallNumber" id="associate-item-temp-call-number"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
(input)="isModifyingCallNumber = true" class="flex-grow-1" />
- <div class="input-group-text">
<div class="input-group-text">
<input type="checkbox" [(ngModel)]="isModifyingCallNumber"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
aria-label="Checkbox for setting a temporary Call Number" />
- </div>
</div>
</div>
</div>
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12 mt-3'">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label" for="temp-circ-mod" i18n>Circulation Modifier</label>
- </div>
+ <label class="form-label input-group-text" for="temp-circ-mod" i18n>Circulation Modifier</label>
<eg-combobox i18n-placeholder placeholder="Circulation Modifier..." idlClass="ccm" idlField="name"
[displayTemplate]="idlClassLabel" [disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
[asyncSupportsEmptyTermClick]="true" class="flex-grow-1"
<div class="row mt-3">
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12'">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label" for="temp-item-status" i18n>Item Status</label>
- </div>
+ <label class="form-label input-group-text" for="temp-item-status" i18n>Item Status</label>
<eg-combobox i18n-placeholder placeholder="Item Status..." idlClass="ccs" idlField="name"
[displayTemplate]="idlClassLabel" [disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
[asyncSupportsEmptyTermClick]="true" class="flex-grow-1"
</div>
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12 mt-3'">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label" for="temp-location" i18n>Shelving Location</label>
- </div>
+ <label class="form-label input-group-text" for="temp-location" i18n>Shelving Location</label>
<eg-item-location-select permFilter="MANAGE_RESERVES" class="flex-grow-1" domId="temp-location"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'" [(ngModel)]="tempLocation"
(valueChange)="isModifyingLocation = true">
<div class="row" [ngClass]="isDialog() ? '' : 'mt-3'">
<div class="d-flex" [ngClass]="isDialog() ? 'col-md-6' : 'col-md-12'">
<div class="input-group">
- <div class="input-group-text">
<label for="associate-user-barcode" class="form-label input-group-text" i18n>Patron Barcode</label>
- </div>
<input type="text" class="flex-grow-1" id="associate-user-barcode"
[(ngModel)]="userBarcode" (click)="$event.target.select()"
[disabled]="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't'"
<div class="row mt-3">
<div class="col-md-3">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Class</div>
<!-- IDL Selector -->
<eg-combobox [allowFreeText]="true"
[entries]="idlEntries" [(ngModel)]="selectedClass"
(ngModelChange)="setGrid()">
</eg-combobox>
- </div>
</div>
</div>
<div class="col-md-3">
<div class="row mt-3">
<div class="col-md-6">
<div class="input-group">
- <div class="input-group-text">
- <div class="input-group-text" i18n>Context</div>
- <eg-org-select [initialOrg]="entryContext"
- (onChange)="entryContext = $event"></eg-org-select>
- </div>
+ <div class="input-group-text" i18n>Context</div>
+ <eg-org-select [initialOrg]="entryContext"
+ (onChange)="entryContext = $event"></eg-org-select>
</div>
</div>
</div>
<ng-container *ngSwitchCase="'integer'">
<div class="input-group">
- <div class="input-group-text">
- <div class="input-group-text" i18n>Value</div>
+ <label class="form-label input-group-text" for="entryValue" i18n>Value</label>
<input
class="form-control" type="number"
- name="entryValue"
+ name="entryValue" id="entryValue"
placeholder="Input a numerical value"
i18n-placeholder
[(ngModel)]="entryValue"/>
- </div>
</div>
</ng-container>
<ng-container *ngSwitchCase="'currency'">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Value</div>
<div class="input-group-text" i18n>$</div>
<input
placeholder="Input a monetary value"
i18n-placeholder
[(ngModel)]="entryValue"/>
- </div>
</div>
</ng-container>
<ng-container *ngSwitchCase="'string'">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Value</div>
<input
class="form-control" type="text"
placeholder="Input a value"
i18n-placeholder
[(ngModel)]="entryValue"/>
- </div>
</div>
</ng-container>
<ng-container *ngSwitchCase="'interval'">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Value</div>
<input
class="form-control" type="text"
placeholder="e.g. 1 day, 4 months"
i18n-placeholder
[(ngModel)]="entryValue"/>
- </div>
</div>
</ng-container>
<ng-container *ngSwitchCase="'bool'">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Value</div>
<select
class="form-select" name="entryValue"
<option value='true' i18n>True</option>
<option value='false' i18n>False</option>
</select>
- </div>
</div>
</ng-container>
<ng-container *ngSwitchCase="'array'">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Value</div>
<input
class="form-control" type="text"
placeholder="Input a comma-separated list..."
i18n-placeholder
[(ngModel)]="entryValue"/>
- </div>
</div>
</ng-container>
<ng-container *ngSwitchCase="'link'">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Value</div>
<ng-container [ngSwitch]="entry.fmClass">
<ng-container *ngSwitchCase="'acpl'">
</eg-combobox>
</ng-container>
</ng-container><!-- fmClass ngSwitch -->
- </div>
</div>
</ng-container>
<div class="row mt-3">
<div class="col-md-3">
<div class="input-group">
- <div class="input-group-text">
<div class="input-group-text" i18n>Context Location</div>
<eg-org-select [initialOrg]="contextOrg"
(onChange)="contextOrgChanged($event)">
</eg-org-select>
- </div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-lg-12">
<div class="input-group">
- <div class="input-group-text">
- <div class="input-group-text" i18n>Note: </div>
- </div>
+ <div class="input-group-text" i18n>Note: </div>
<input class="form-control" type='text'
[ngModel]="getNote(dow)"
(ngModelChange)="setNote(dow, $event)"
</div>
<div class="col-lg-3">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n>Template</span>
- </div>
+ <span class="input-group-text" i18n>Template</span>
<ng-template #entryTemplate let-r="result" let-owner="getOwnerName">
{{r.label}} ({{getOwnerName(r.id)}})
</ng-template>
</div>
<div class="col-lg-3" *ngIf="localeEntries.length > 0">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n>Locale</span>
- </div>
+ <span class="input-group-text" i18n>Locale</span>
<eg-combobox [entries]="localeEntries"
[startId]="localeCode"
(onChange)="localeOnChange($event ? $event.id : null)">
<form [formGroup]="findResource" class="row">
<div class="col-md-4">
<div class="input-group flex-nowrap">
- <div class="input-group-text">
<label class="form-label input-group-text" for="resource-barcode" i18n>Resource barcode</label>
<input type="text" id="resource-barcode" class="form-control" formControlName="resourceBarcode">
- </div>
</div>
</div>
</form>
<div class="row">
<div class="col">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label input-group-text" for="ideal-reservation-type" i18n>Reservation type</label>
- </div>
+ <label class="form-label input-group-text" for="ideal-reservation-type" i18n>Reservation type</label>
<select class="form-select" id="ideal-reservation-type" formControlName="reservationType">
<option *ngFor="let type of reservationTypes" [ngValue]="type" i18n>{{type.name}}</option>
</select>
</div>
<div class="col">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label input-group-text" for="ideal-reservation-date" i18n>Reservation date</label>
- </div>
+ <label class="form-label input-group-text" for="ideal-reservation-date" i18n>Reservation date</label>
<eg-date-select *ngIf="!multiday" #dateLimiter domId="ideal-reservation-date" formControlName="idealDate"></eg-date-select>
<eg-daterange-select *ngIf="multiday" formControlName="idealDateRange"></eg-daterange-select>
</div>
<div ngbPanelContent class="row">
<div class="col">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label input-group-text" for="ideal-resource-type" i18n>Search by resource type</label>
- </div>
+ <label class="form-label input-group-text" for="ideal-resource-type" i18n>Search by resource type</label>
<eg-combobox
formControlName="resourceType"
domId="ideal-resource-type"
<div ngbPanelContent class="row">
<div class="col">
<div class="input-group">
- <div class="input-group-text">
- <label class="form-label input-group-text" for="ideal-resource-barcode" i18n>Search by resource barcode</label>
- </div>
+ <label class="form-label input-group-text" for="ideal-resource-barcode" i18n>Search by resource barcode</label>
<input type="text" id="ideal-resource-barcode" class="form-control" formControlName="resourceBarcode">
</div>
</div>
<ul class="list-group list-group-flush" formArrayName="selectedAttributes">
<li *ngFor="let attribute of attributes; let i = index" class="list-group-item">
<span class="input-group">
- <span class="input-group-text">
- <label class="form-label input-group-text" for="attribute-{{attribute.id()}}" i18n>{{attribute.name()}}</label>
- </span>
+ <label class="form-label input-group-text" for="attribute-{{attribute.id()}}" i18n>{{attribute.name()}}</label>
<eg-combobox [formControlName]="i">
<eg-combobox-entry *ngFor="let value of attribute.valid_values()"
[entryId]="value.id()" [entryLabel]="value.valid_value()">
<ul class="list-group list-group-flush">
<li class="list-group-item">
<span class="input-group">
- <span class="input-group-text">
<label class="form-label input-group-text" for="start-time" i18n>Start time</label>
- </span>
<ngb-timepicker formControlName="startOfDay" [minuteStep]="minuteStep()" [meridian]="true"></ngb-timepicker>
</span>
</li>
<li class="list-group-item">
<span class="input-group">
- <span class="input-group-text">
<label class="form-label input-group-text" for="end-time" i18n>End time</label>
- </span>
<ngb-timepicker formControlName="endOfDay" [minuteStep]="minuteStep()" [meridian]="true"></ngb-timepicker>
</span>
</li>
</li>
<li class="list-group-item">
<span class="input-group">
- <span class="input-group-text">
<label class="form-label input-group-text" for="granularity" i18n>Granularity</label>
- </span>
<eg-combobox (onChange)="changeGranularity($event)" [startId]="granularity ? granularity : 30">
<eg-combobox-entry [entryId]="15" entryLabel="15 minutes"
i18n-entryLabel></eg-combobox-entry>
<ng-template ngbNavContent>
<div class="m-2">
<div class="input-group m-2">
- <div class="input-group-text">
- <label class="form-label input-group-text" for="patron-barcode-value" i18n>Patron barcode</label>
- </div>
<input type="text" id="patron-barcode-value" class="form-control" formControlName="patronBarcode">
<div class="input-group-button">
<button *ngIf="patronBarcode.value" class="btn btn-warning" (click)="removeFilters()" i18n><span class="material-icons">delete</span> Remove filter</button>
<ng-template ngbNavContent>
<div class="m-2">
<div class="input-group m-2">
- <div class="input-group-text">
<label class="form-label input-group-text" for="resource-barcode-value" i18n>Resource barcode</label>
- </div>
<input type="text" id="resource-barcode-value" class="form-control" formControlName="resourceBarcode">
<div class="input-group-button">
<button *ngIf="resourceBarcode.value" class="btn btn-warning" (click)="removeFilters()" i18n><span class="material-icons">delete</span> Remove filter</button>
<ng-template ngbNavContent>
<div class="m-2">
<div class="input-group m-2">
- <div class="input-group-text">
<label class="form-label input-group-text" for="resource-type-value" i18n>Resource type</label>
- </div>
<eg-combobox domId="resource-type-value" formControlName="resourceType" idlClass="brt" [asyncSupportsEmptyTermClick]="true"></eg-combobox>
<div class="input-group-button">
<button class="btn btn-warning" (click)="removeFilters()" i18n><span class="material-icons">delete</span> Remove filter</button>
<form [formGroup]="findPatron" class="row">
<div class="col-md-4">
<div class="input-group flex-nowrap">
- <div class="input-group-text">
<label class="form-label input-group-text" for="patron-barcode" i18n>Patron barcode</label>
<input type="text" id="patron-barcode" class="form-control" formControlName="patronBarcode">
- </div>
</div>
</div>
</form>
<form [formGroup]="pullListCriteria" class="row">
<div class="col-md-4">
<div class="input-group">
- <div class="input-group-text">
<label for="ou" class="form-label input-group-text" i18n>Library:</label>
- </div>
<eg-org-select domId="ou" [applyDefault]="true"
(onChange)="handleOrgChange($event)"
[disableOrgs]="disableOrgs()" [hideOrgs]="disableOrgs()">
</div>
<div class="col-md-4">
<div class="input-group">
- <div class="input-group-text">
<label for="days-hence" class="form-label input-group-text" i18n>Number of days to fetch:</label>
- </div>
<input type="number" min="1" class="form-control" formControlName="daysHence">
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="input-group flex-nowrap">
- <div class="input-group-text">
<label class="form-label input-group-text" for="patron-barcode" i18n>Patron barcode</label>
<input type="text" id="patron-barcode" class="form-control" i18n-placeholder placeholder="Patron barcode" formControlName="patronBarcode">
- </div>
</div>
</div>
</div>
<a i18n ngbNavLink role="tab">By resource</a>
<ng-template ngbNavContent>
<div class="input-group flex-nowrap">
- <div class="input-group-text">
<label class="form-label input-group-text" for="resource-barcode" i18n>Resource barcode</label>
<input type="text" id="resource-barcode" class="form-control" i18n-placeholder placeholder="Resource barcode" formControlName="resourceBarcode">
- </div>
</div>
<div *ngIf="patronId">
<h2 class="text-center" i18n>Ready for return</h2>
<div class="row form-inline mb-3">
<div class="col-lg-3">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" id="search-term" i18n>Search Term</span>
- </div>
+ <span class="input-group-text" id="search-term" i18n>Search Term</span>
<input type="text" class="form-control" placeholder="Search Term"
i18n-placeholder aria-describedby="search-term"
(change)="search(null, true)"
</div>
<div class="col-lg-5">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" id="auth-axis" i18n>Authority Type</span>
- </div>
+ <span class="input-group-text" id="auth-axis" i18n>Authority Type</span>
<eg-combobox #axisCbox [(ngModel)]="authorityAxis"
[entries]="browse.authorityAxes" (onChange)="search(null, true)">
</eg-combobox>
<div class="row">
<div class="col-lg-6 form-inline">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n>Authorty Record Id</span>
- </div>
+ <span class="input-group-text" i18n>Authorty Record Id</span>
<input type="text" class="form-control"
id='auth-id-input'
i18n-placeholder placeholder="Authorty Record Id"
<div class="row form-validated mt-5">
<div class="col-lg-6 form-inline">
<div class="input-group">
- <div class="input-group-text">
<span class="input-group-text" id="bib-ident-label">
<ng-container *ngIf="identType === 'id'" i18n>Record ID:</ng-container>
<ng-container *ngIf="identType === 'tcn'" i18n>Record TCN:</ng-container>
</span>
- </div>
<input id="bib-ident-value" type="text" required
(keyup.enter)="search()" [(ngModel)]="identValue"
class="form-control" aria-describedby="bib-ident-label"/>
<div class="row">
<div class="col-lg-12 form-inline">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" id='barcode-label' i18n>Barcode</span>
- </div>
+ <span class="input-group-text" id='barcode-label' i18n>Barcode</span>
<input type="text" class="form-control" id="item-barcode-input"
(keydown)="noSuchItem=false; true;"
(keyup.enter)="getItemByBarcode()" [(ngModel)]="itemBarcode"
<div class="d-flex mb-3">
<div>
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text">Owner</span>
- </div>
+ <span class="input-group-text">Owner</span>
<eg-org-select
[initialOrg]="contextOrg"
(onChange)="orgOnChange($event)">
<div class="row mb-2">
<div class="col-lg-6">
<div class="input-group">
- <span class="input-group-text" i18n>Show Sessions Since: </span>
+ <span class="input-group-text" i18n>Show Sessions Since: </span>
<eg-date-select
[initialIso]="sinceDate"
(onChangeAsIso)="dateFilterChange($event)">
</div>
<div class="flex-1">
<div class="input-group">
- <div class="input-group-text">
- <label for="userEmail" class="form-label input-group-text" i18n>Email Address</label>
- </div>
+ <label for="userEmail" class="form-label input-group-text" i18n>Email Address</label>
<input type="text" class="form-control" name="userEmail"
id="userEmail"
[disabled]="true" value="{{user ? user.email() : ''}}"/>
</div>
<div class="flex-1">
<div class="input-group">
- <div class="input-group-text">
- <label for="phoneValue" class="form-label input-group-text" i18n>Phone Number</label>
- </div>
+ <label for="phoneValue" class="form-label input-group-text" i18n>Phone Number</label>
<input type="text" class="form-control" [disabled]="!notifyPhone"
name="phoneValue" id="phoneValue" [(ngModel)]="phoneValue"/>
</div>
</div>
<div class="flex-1">
<div class="input-group">
- <div class="input-group-text">
- <label for="smsValue" class="form-label input-group-text" i18n>SMS Number</label>
- </div>
+ <label for="smsValue" class="form-label input-group-text" i18n>SMS Number</label>
<input type="text" class="form-control" [disabled]="!notifySms"
id="smsValue" name="smsValue" [(ngModel)]="smsValue"
[required]="notifySms"/>
<div class="row mt-3">
<div class="col-lg-4">
<div class="input-group">
- <div class="input-group-text">
- <div class="input-group-text" i18n>Holdings Maintenance</div>
- </div>
+ <div class="input-group-text" i18n>Holdings Maintenance</div>
<eg-org-select [initialOrg]="contextOrg"
persistKey="catalog.holdings"
(onChange)="contextOrgChanged($event)"
<div class="col-lg-12 d-flex">
<div class="form-inline">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n>Barcode</span>
- </div>
+ <span class="input-group-text" i18n>Barcode</span>
<input type="text" class="form-control" id="barcode-input"
placeholder="Barcode..." i18n-placeholder [(ngModel)]="barcode"
i18n-aria-label aria-label="Barcode Input" (keydown.enter)="checkin()" />
<div class="row">
<div class="col-lg-4">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n>Patron Barcode:</span>
- </div>
+ <span class="input-group-text" i18n>Patron Barcode:</span>
<input type='text' id='barcode-search-input' class="form-control"
placeholder="Barcode" i18n-placeholder [(ngModel)]='barcode'
(keydown.enter)="findUser()"/>
</div>
<div class="form-inline ms-2">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n># Receipts</span>
- </div>
+ <span class="input-group-text" i18n># Receipts</span>
<input type="number" class="form-control num-receipts" [(ngModel)]="numReceipts"/>
</div>
</div>
<div class="col-lg-12 d-flex">
<div class="form-inline">
<div class="input-group">
- <div class="input-group-text">
- <span class="input-group-text" i18n>Barcode</span>
- </div>
+ <span class="input-group-text" i18n>Barcode</span>
<input type="text" class="form-control" id="barcode-input"
placeholder="Barcode..." i18n-placeholder [(ngModel)]="barcode"
i18n-aria-label aria-label="Barcode Input" (keydown.enter)="renew()" />
<div class="row" *ngIf="!hidePickupLibFilter">
<div class="col-lg-5">
<div class="input-group">
- <div class="input-group-text">
- <div class="input-group-text" i18n>Pickup Library</div>
- </div>
+ <div class="input-group-text" i18n>Pickup Library</div>
<eg-org-select [persistKey]="persistKey" [fallbackOrg]="pickupLib"
(componentLoaded)="plCompLoaded = true" (onChange)="pickupLibChanged($event)">
</eg-org-select>
<div class="row" *ngIf="pullListOrg">
<div class="col-lg-4 mb-2">
<div class="input-group">
- <div class="input-group-text">
- <div class="input-group-text" i18n>View Pull List For:</div>
- </div>
+ <div class="input-group-text" i18n>View Pull List For:</div>
<eg-org-select [initialOrgId]="pullListOrg"
(onChange)="pullListOrgChanged($event)">
</eg-org-select>