find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/font-weight/fw/g'
find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/ml-/ms-/g'
find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/mr-/me-/g'
find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/pl-/ps-/g'
find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/pr-/pe-/g'
find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/badge-/bg-/g'
find . -type f -name "*.html" -print0 | xargs -0 sed -i '' -e 's/badge/rounded-pill/g'
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Evergreen is Copyright © Georgia Public Library Service -
A Unit of the University System of Georgia, and others. The
Evergreen software is distributed under the
- <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html">
+ <a href="https://www.gnu.org/licenses/old-licenses/gps-2.0.en.html">
GNU General Public License, Version 2.
</a>
</p>
<button class="btn btn-outline-secondary"
(click)="findContainer()" i18n>Submit</button>
</div>
- <div class="form-check form-check-inline ml-2">
+ <div class="form-check form-check-inline ms-2">
<input class="form-check-input" type="checkbox"
id="receive-on-scan" [(ngModel)]="receiveOnScan"/>
<label class="form-check-label" for="receive-on-scan">Receive on Scan</label>
<label for="container-note" i18n>Notes: </label>
</div>
<div class="col-lg-4">
- <div class="ml-1">{{container.note()}}</div>
+ <div class="ms-1">{{container.note()}}</div>
</div>
</div>
</div>
<eg-progress-inline min="0" max="0" #progress></eg-progress-inline>
</li>
- <li class="list-group-item d-flex font-weight-bold">
+ <li class="list-group-item d-flex fw-bold">
<div class="flex-3" i18n>Title</div>
<div class="flex-1" i18n>Lineitem</div>
<div class="flex-1" i18n>Notified</div>
of the list of copies in the copies component. -->
<ng-template #copyAttrsHeader let-hideBarcode="hideBarcode" let-moreCss="moreCss">
- <div class="div d-flex font-weight-bold {{moreCss}}">
+ <div class="div d-flex fw-bold {{moreCss}}">
<div class="flex-1 p-1" i18n>Owning Branch</div>
<div class="flex-1 p-1" i18n>Shelving Location</div>
<div class="flex-1 p-1" i18n>Collection Code</div>
<ng-template #copyAttrsHeader let-hideBarcode="hideBarcode" let-moreCss="moreCss">
- <div class="div d-flex font-weight-bold {{moreCss}}">
+ <div class="div d-flex fw-bold {{moreCss}}">
<div class="flex-1 p-1" i18n>Owning Branch</div>
<div class="flex-1 p-1" i18n>Shelving Location</div>
<div class="flex-1 p-1" i18n>Collection Code</div>
<div class="row mt-3 mb-1">
<div class="col-lg-12 form-inline">
- <label class="ml-3" for='copy-count-input' i18n>Item Count: </label>
- <input class="form-control-sm ml-3 small"
+ <label class="ms-3" for='copy-count-input' i18n>Item Count: </label>
+ <input class="form-control-sm ms-3 small"
id='copy-count-input'
[(ngModel)]="copyCount" [ngModelOptions]="{standalone: true}" type="text"/>
- <span class="ml-3" i18n> | </span>
- <label class="ml-3" for='distrib-formula-cbox' i18n>Distribution Formulas</label>
- <span class="ml-3">
+ <span class="ms-3" i18n> | </span>
+ <label class="ms-3" for='distrib-formula-cbox' i18n>Distribution Formulas</label>
+ <span class="ms-3">
<eg-combobox idlClass="acqdf" [idlQueryAnd]="formulaFilter"
[asyncSupportsEmptyTermClick]="true" [startsWith]="true"
[idlQuerySort]="{acqdf: 'name'}"
<div class="modal-body">
<h4 i18n>Line Item: {{liId}}</h4>
<div class="input-group">
- <label for="searchQuery" class="mr-1" i18n>Search catalog for</label>
+ <label for="searchQuery" class="me-1" i18n>Search catalog for</label>
<input type="text" [(ngModel)]="queryString" [ngModelOptions]="{standalone: true}"
class="form-control" id="searchQuery">
<button type="submit" (click)="submitSearch()" class="btn btn-primary"
<div class="mt-1 pt-1 border-top">
<div *ngFor="let rec of results" class="bib-finder-results-row row mt-1">
<div class="col-3">
- <button class="btn btn-success mr-1" (click)="close(rec.id)" i18n>Link</button>
- <button class="btn btn-outline-dark mr-1" (click)="bibToDisplay = rec.id" i18n>View MARC</button>
+ <button class="btn btn-success me-1" (click)="close(rec.id)" i18n>Link</button>
+ <button class="btn btn-outline-dark me-1" (click)="bibToDisplay = rec.id" i18n>View MARC</button>
</div>
<div class="col-9">
- <span class="pr-1" i18n>Record {{rec.id}}:</span>
- <span class="pr-1">{{rec.display.title}}</span>
- <span class="pr-1">{{rec.display.author}}</span>
- <span class="pr-1">{{rec.display.isbn}}</span>
- <span class="pr-1">{{rec.display.issn}}</span>
- <span class="pr-1">{{rec.display.pubdate}}</span>
- <span class="pr-1">{{rec.display.publisher}}</span>
+ <span class="pe-1" i18n>Record {{rec.id}}:</span>
+ <span class="pe-1">{{rec.display.title}}</span>
+ <span class="pe-1">{{rec.display.author}}</span>
+ <span class="pe-1">{{rec.display.isbn}}</span>
+ <span class="pe-1">{{rec.display.issn}}</span>
+ <span class="pe-1">{{rec.display.pubdate}}</span>
+ <span class="pe-1">{{rec.display.publisher}}</span>
</div>
</div>
</div>
<div class="row mt-3 mb-1">
<div class="col-lg-12 form-inline">
- <label class="ml-3" for='copy-count-input' i18n>Item Count: </label>
- <input class="form-control-sm ml-3 small"
+ <label class="ms-3" for='copy-count-input' i18n>Item Count: </label>
+ <input class="form-control-sm ms-3 small"
id='copy-count-input' [disabled]="liLocked"
[(ngModel)]="copyCount" type="text" (keyup.enter)="applyCount()"/>
- <button class="btn btn-sm btn-outline-dark ml-3"
+ <button class="btn btn-sm btn-outline-dark ms-3"
[disabled]="liLocked" (click)="applyCount()" i18n>Apply</button>
- <span class="ml-3" i18n> | </span>
+ <span class="ms-3" i18n> | </span>
- <label class="ml-3" for='distrib-formula-cbox' i18n>Distribution Formulas</label>
- <span class="ml-3">
+ <label class="ms-3" for='distrib-formula-cbox' i18n>Distribution Formulas</label>
+ <span class="ms-3">
<eg-combobox idlClass="acqdf" [idlQueryAnd]="formulaFilter"
[asyncSupportsEmptyTermClick]="true" [startsWith]="true"
[idlQuerySort]="{acqdf: 'name'}"
#distribFormCbox domId="distrib-formula-cbox">
</eg-combobox>
</span>
- <button class="btn btn-sm btn-outline-dark ml-3"
+ <button class="btn btn-sm btn-outline-dark ms-3"
[disabled]="!distribFormCbox.selectedId || liLocked"
(click)="applyFormula(distribFormCbox.selectedId)" i18n>Apply</button>
(click)="deleteFormula(formula)" title="Delete Formula" i18n-title>
<span class="material-icons">delete</span>
</button>
- <div class="ml-2">{{formula.create_time() | date:'short'}}</div>
- <div class="ml-2">{{formula.creator().usrname()}}</div>
- <div class="ml-2 flex-1">{{formula.formula().name()}}</div>
+ <div class="ms-2">{{formula.create_time() | date:'short'}}</div>
+ <div class="ms-2">{{formula.creator().usrname()}}</div>
+ <div class="ms-2 flex-1">{{formula.formula().name()}}</div>
</div>
</li>
</ul>
and the batch copy editor component -->
<div class="div d-flex batch-copy-row" *ngIf="copy">
- <div class="pr-1 pt-2 text-secondary">
+ <div class="pe-1 pt-2 text-secondary">
<!-- ensure the rowIndex for the first 100 copies vertically
aligns with an invisible 0 for 1..9 -->
{{rowIndex}}<span *ngIf="rowIndex < 10" class="invisible">0</span>
{{copy.receiver()?.usrname()}}
</div>
<ng-container *ngIf="!embedded && !gatherParamsOnly">
- <div class="flex-2 p-1 pr-2 pl-2">
+ <div class="flex-2 p-1 pe-2 ps-2">
<ng-container *ngIf="!batchMode">
<ng-container *ngIf="disposition() === 'pre-order'">
<button
<a href="javascript:;" (click)="unReceiveRequested.emit(copy)" i18n>Un-Receive</a>
</ng-container>
<ng-container *ngIf="disposition() === 'on-order'">
- <a href="javascript:;" class="ml-2" (click)="cancelRequested.emit(copy)" i18n>Cancel</a>
+ <a href="javascript:;" class="ms-2" (click)="cancelRequested.emit(copy)" i18n>Cancel</a>
</ng-container>
<ng-container *ngIf="disposition() === 'delayed'">
<a href="javascript:;" (click)="cancelRequested.emit(copy)" i18n>Cancel</a>
</ng-container>
<ng-container *ngIf="disposition() === 'delayed'">
- <span class="font-italic ml-2" title="{{copy.cancel_reason().description()}}">
+ <span class="font-italic ms-2" title="{{copy.cancel_reason().description()}}">
{{copy.cancel_reason().label()}}
</span>
</ng-container>
values for selected line item(s).
</h4>
<div class="form-group form-inline">
- <label for="export-attr-select" class="form-check-label mr-1">Filter by:</label>
+ <label for="export-attr-select" class="form-check-label me-1">Filter by:</label>
<select name="export-attr-select" id="export-attr-select"
[(ngModel)]="selectedAttr"
class="form-control">
placeholder="New Line Item Note..." i18n-placeholder/>
</div>
<div class="col-lg-4 form-inline">
- <div class="form-check mr-2">
+ <div class="form-check me-2">
<input class="form-check-input" type="checkbox"
id="vendor-public" [(ngModel)]="noteIsPublic">
<label class="form-check-label" for="vendor-public">
<div *ngIf="batchFailure" class="row mt-2 p-2">
<div class="col-lg-12 p-2 border border-danger label-with-material-icon" i18n>
- <span class="material-icons text-danger pr-2">report</span>
+ <span class="material-icons text-danger pe-2">report</span>
Batch operation failed:
{{batchFailure.textcode}} {{batchFailure.desc}}
</div>
</div>
- <div class="d-flex justify-content-center flex-column h-100 ml-3">
+ <div class="d-flex justify-content-center flex-column h-100 ms-3">
<div class="form-check">
<input class="form-check-input" id='toggle-all-cbox'
[(ngModel)]="batchSelectAll" (change)="toggleSelectAll(true)" type="checkbox"/>
</div>
</div>
- <div class="d-flex ml-3 justify-content-center flex-column h-100">
+ <div class="d-flex ms-3 justify-content-center flex-column h-100">
<span class="font-italic" style="font-size:90%" i18n>
{{selectedIds().length}} Selected
</span>
</div>
- <div class="d-flex ml-3 justify-content-center flex-column h-100">
+ <div class="d-flex ms-3 justify-content-center flex-column h-100">
<button type="button" (click)="toggleFilterSort()"
- class="btn btn-sm btn-outline-dark mr-1">
+ class="btn btn-sm btn-outline-dark me-1">
<span *ngIf="showFilterSort" i18n>Hide Filter & Sort Options</span>
<span *ngIf="!showFilterSort" i18n>Show Filter & Sort Options</span>
</button>
<div class="btn-toolbar">
<button type="button" (click)="toggleExpandAll()"
- class="btn btn-sm btn-outline-dark mr-1">
+ class="btn btn-sm btn-outline-dark me-1">
<span title="Expand All" i18n-title *ngIf="!expandAll"
class="material-icons mat-icon-in-button">unfold_more</span>
<span title="Collapse All" i18n-title *ngIf="expandAll"
class="material-icons mat-icon-in-button">unfold_less</span>
</button>
<button [disabled]="pager.isFirstPage()" type="button"
- class="btn btn-sm btn-outline-dark mr-1" (click)="pager.toFirst(); goToPage()">
+ class="btn btn-sm btn-outline-dark me-1" (click)="pager.toFirst(); goToPage()">
<span title="First Page" i18n-title
class="material-icons mat-icon-in-button">first_page</span>
</button>
<button [disabled]="pager.isFirstPage()" type="button"
- class="btn btn-sm btn-outline-dark mr-1" (click)="pager.decrement(); goToPage()">
+ class="btn btn-sm btn-outline-dark me-1" (click)="pager.decrement(); goToPage()">
<span title="Previous Page" i18n-title
class="material-icons mat-icon-in-button">keyboard_arrow_left</span>
</button>
<button [disabled]="pager.isLastPage()" type="button"
- class="btn btn-sm btn-outline-dark mr-1" (click)="pager.increment(); goToPage()">
+ class="btn btn-sm btn-outline-dark me-1" (click)="pager.increment(); goToPage()">
<span title="Next Page" i18n-title
class="material-icons mat-icon-in-button">keyboard_arrow_right</span>
</button>
- <div ngbDropdown class="mr-1" placement="bottom-right">
+ <div ngbDropdown class="me-1" placement="bottom-right">
<button ngbDropdownToggle class="btn btn-outline-dark text-button">
<span title="Select Row Count" i18n-title i18n>
Rows {{pager.limit}}
<div class="dropdown-menu" ngbDropdownMenu>
<a class="dropdown-item" (click)="pageSizeChange(count)"
*ngFor="let count of [5, 10, 25, 50, 100, 500, 1000, 10000]">
- <span class="ml-2">{{count}}</span>
+ <span class="ms-2">{{count}}</span>
</a>
</div>
</div>
<form>
<div class="d-flex justify-content-center flex-column h-100">
<div class="form-group form-inline">
- <label for="filter-field-select" class="form-check-label mr-1">Filter by:</label>
+ <label for="filter-field-select" class="form-check-label me-1">Filter by:</label>
<select name="filter-field-select" id="filter-field-select"
[ngModel]="filterField" (ngModelChange)="filterFieldChange($event)"
class="form-control">
(onChange)="filterValue = $event ? $event.id : ''">
</eg-combobox>
<button type="submit" (click)="applyFilter()"
- class="btn btn-sm btn-outline-dark mr-1 ml-1" [disabled]="!canApplyFilter()" i18n>Apply Filter</button>
+ class="btn btn-sm btn-outline-dark me-1 ms-1" [disabled]="!canApplyFilter()" i18n>Apply Filter</button>
<button type="button" (click)="resetFilter()"
- class="btn btn-sm btn-outline-dark mr-1" i18n>Reset Filter</button>
+ class="btn btn-sm btn-outline-dark me-1" i18n>Reset Filter</button>
</div>
</div>
</form>
<div class="col-lg-12 d-flex">
<div class="d-flex justify-content-center flex-column h-100">
<div class="form-group form-inline">
- <label for="sort-order-select" class="form-check-label mr-1">Sort by:</label>
+ <label for="sort-order-select" class="form-check-label me-1">Sort by:</label>
<select name="sort-order-select" id="sort-order-select"
[ngModel]="sortOrder" (ngModelChange)="sortOrderChange($event)"
class="form-control">
<ng-container *ngIf="!jacketIdent(li)"><img class="jacket"/></ng-container>
</div>
- <div class="ml-2 flex-1"> <!-- lineitem summary info -->
+ <div class="ms-2 flex-1"> <!-- lineitem summary info -->
<div class="row">
<div class="col-lg-12">
<input type="checkbox" [(ngModel)]="selected[li.id()]"/>
- <a class="ml-2" queryParamsHandling="merge" [id]="li.id()"
+ <a class="ms-2" queryParamsHandling="merge" [id]="li.id()"
routerLink="./lineitem/{{li.id()}}/detail">
{{displayAttr(li, 'title')}}
</a>
</div>
<div class="row">
<div class="col-lg-12">
- <span class="pr-1">{{displayAttr(li, 'author')}}</span>
- <span class="pr-1">{{displayAttr(li, 'isbn')}}</span>
- <span class="pr-1">{{displayAttr(li, 'issn')}}</span>
- <span class="pr-1">{{displayAttr(li, 'edition')}}</span>
- <span class="pr-1">{{displayAttr(li, 'pubdate')}}</span>
- <span class="pr-1">{{displayAttr(li, 'publisher')}}</span>
- <span class="pr-1">{{li.source_label()}}</span>
+ <span class="pe-1">{{displayAttr(li, 'author')}}</span>
+ <span class="pe-1">{{displayAttr(li, 'isbn')}}</span>
+ <span class="pe-1">{{displayAttr(li, 'issn')}}</span>
+ <span class="pe-1">{{displayAttr(li, 'edition')}}</span>
+ <span class="pe-1">{{displayAttr(li, 'pubdate')}}</span>
+ <span class="pe-1">{{displayAttr(li, 'publisher')}}</span>
+ <span class="pe-1">{{li.source_label()}}</span>
</div>
</div>
<div class="row">
<div class="col-lg-12 d-flex">
- <div class="mr-2">
+ <div class="me-2">
<ng-container [ngSwitch]="li.state()">
<div i18n
class="p-1 text-dark border border-dark bg-light rounded-pill"
</div>
<!-- w-auto allows the input group to stick to the right
as the status label grows -->
- <div class="input-group w-auto mr-2">
+ <div class="input-group w-auto me-2">
<div class="input-group-prepend">
- <span *ngIf="identOptions(li).length > 1" class="text-danger mr-1"
+ <span *ngIf="identOptions(li).length > 1" class="text-danger me-1"
i18n-title title="Multiple Order Identifier Options" i18n>
({{identOptions(li).length}})
</span>
(onChange)="orderIdentChanged(li, $event)">
</eg-combobox>
</div>
- <div class="mr-2">
+ <div class="me-2">
<input type="text" class="form-control-sm medium"
[ngClass]="{'border border-danger text-danger': !liPriceIsValid(li)}"
placeholder='Price...' i18n-placeholder
<div class="row">
<div class="col-lg-12">
<span title="Line Item ID" i18n-title i18n># {{li.id()}}</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span title="Existing Item Count" i18n-title i18n
- [ngClass]="{'text-danger font-weight-bold': existingCopyCounts[li.id()] > 0}">
+ [ngClass]="{'text-danger fw-bold': existingCopyCounts[li.id()] > 0}">
{{existingCopyCounts[li.id()]}}</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon" title="Items" i18n-title
routerLink="./lineitem/{{li.id()}}/items" queryParamsHandling="merge">
- <span class="material-icons small mr-1">shopping_basket</span>
+ <span class="material-icons small me-1">shopping_basket</span>
<span i18n>Items ({{li.lineitem_details().length}})</span>
</a>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon" title="Expand" i18n-title
href="javascript:;" (click)="toggleShowExpand(li.id())">
<ng-container *ngIf="!expandLineitem[li.id()]">
- <span class="material-icons small mr-1">unfold_more</span>
+ <span class="material-icons small me-1">unfold_more</span>
<span i18n>Expand</span>
</ng-container>
<ng-container *ngIf="expandLineitem[li.id()]">
- <span class="material-icons small mr-1">unfold_less</span>
+ <span class="material-icons small me-1">unfold_less</span>
<span i18n>Collapse</span>
</ng-container>
</a>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon" title="Notes and Alerts" i18n-title
href="javascript:;" (click)="toggleShowNotes(li.id())">
- <span class="material-icons small mr-1">event_note</span>
+ <span class="material-icons small me-1">event_note</span>
<span i18n>Notes and Alerts ({{li.lineitem_notes().length}})</span>
<span *ngIf="liHasAlerts(li)" class="text-danger material-icons"
title="Has Alerts" i18n-title>flag</span>
</a>
<ng-container *ngIf="li.eg_bib_id()">
- <span class="ml-1 mr-1" i18n> | </span>
- <a class="label-with-material-icon mr-2"
+ <span class="ms-1 me-1" i18n> | </span>
+ <a class="label-with-material-icon me-2"
routerLink="/staff/catalog/record/{{li.eg_bib_id()}}"
target="_blank">
- <span class="material-icons small mr-1">library_books</span>
+ <span class="material-icons small me-1">library_books</span>
<span i18n>Catalog</span>
</a>
</ng-container>
<ng-container *ngIf="!li.eg_bib_id()">
- <span class="ml-1 mr-1" i18n> | </span>
- <a class="label-with-material-icon mr-2"
+ <span class="ms-1 me-1" i18n> | </span>
+ <a class="label-with-material-icon me-2"
href="javascript:;" (click)="openBibFinder(li.id())"
title="Link to Catalog" i18n-title>
- <span class="material-icons small mr-1">library_books</span>
+ <span class="material-icons small me-1">library_books</span>
<span i18n>Link to Catalog</span>
</a>
</ng-container>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
routerLink="lineitem/{{li.id()}}/worksheet/">
- <span class="material-icons small mr-1">create</span>
+ <span class="material-icons small me-1">create</span>
<span i18n>Worksheet</span>
</a>
<ng-container *ngIf="!picklistId && li.picklist() && li.picklist().name()">
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
title="Selection List" i18n-title
routerLink="/staff/acq/picklist/{{li.picklist().id()}}">
- <span class="material-icons small mr-1">widgets</span>
+ <span class="material-icons small me-1">widgets</span>
<span i18n>{{li.picklist().name()}}</span>
</a>
</ng-container>
<ng-container *ngIf="!poId && li.purchase_order()">
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
title="Purchase Order" i18n-title
routerLink="/staff/acq/po/{{li.purchase_order().id()}}">
- <span class="material-icons small mr-1">center_focus_weak</span>
+ <span class="material-icons small me-1">center_focus_weak</span>
<span i18n>{{li.purchase_order().name()}}</span>
</a>
</ng-container>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
title="Request(s)" i18n-title
href="/eg/staff/acq/requests/lineitem/{{li.id()}}"
target="_blank">
- <span class="material-icons small mr-1">help</span>
+ <span class="material-icons small me-1">help</span>
<span i18n>Request(s)</span>
</a>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
[queryParams]="{f: 'jub:id', val1: li.id()}"
routerLink="/staff/acq/search/invoices" target="_blank">
- <span class="material-icons small mr-1">list</span>
+ <span class="material-icons small me-1">list</span>
<span i18n>Invoice(s)</span>
</a>
<ng-container *ngIf="li.claim_policy()">
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>Claim policy: {{li.claim_policy().name()}}</span>
</ng-container>
<ng-container *ngIf="li.provider()">
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
title="Provider" i18n-title target="_blank"
routerLink="/staff/acq/provider/{{li.provider().id()}}/details">
- <span class="material-icons small mr-1">store</span>
+ <span class="material-icons small me-1">store</span>
<span i18n>{{li.provider().name()}}</span>
</a>
</ng-container>
<ng-container *ngIf="li.queued_record()">
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<a class="label-with-material-icon"
title="Import Queue" i18n-title
routerLink="/staff/cat/vandelay/queue/bib/{{li.queued_record().queue()}}"
target="_blank">
- <span class="material-icons small mr-1">queue</span>
+ <span class="material-icons small me-1">queue</span>
<span i18n>Import Queue</span>
</a>
</ng-container>
<!-- Note the flex values are set so they also match the layout
of the list of copies in the copies component. -->
- <div class="div d-flex font-weight-bold">
+ <div class="div d-flex fw-bold">
<div class="flex-1 p-1" i18n>Owning Branch</div>
<div class="flex-1 p-1" i18n>Shelving Location</div>
<div class="flex-1 p-1" i18n>Collection Code</div>
<div class="p-1 m-1 form-inline">
<input type="text" class="form-control form-control-sm" id="note-text-input"
[(ngModel)]="noteText" placeholder="Note Text" i18n-placeholder/>
- <div class="form-check ml-2">
+ <div class="form-check ms-2">
<input class="form-check-input" type="checkbox"
[(ngModel)]="vendorPublic" id="vendor-public-cbox">
<label class="form-check-label" for="vendor-public-cbox" i18n>
Vendor Public
</label>
</div>
- <button class="btn btn-sm btn-success ml-2" [disabled]="!noteText"
+ <button class="btn btn-sm btn-success ms-2" [disabled]="!noteText"
(click)="newNote()" i18n>Create Note</button>
- <div class="ml-3 mr-3">|</div>
+ <div class="ms-3 me-3">|</div>
<input type="text" class="form-control form-control-sm" id="note-text-input"
[(ngModel)]="alertComments" placeholder="Alert Comments" i18n-placeholder/>
- <span class="ml-2">
+ <span class="ms-2">
<eg-combobox idlClass="acqliat" [(ngModel)]="alertEntry"
[asyncSupportsEmptyTermClick]="true">
</eg-combobox>
</span>
- <button class="btn btn-sm btn-success ml-2" [disabled]="!alertEntry"
+ <button class="btn btn-sm btn-success ms-2" [disabled]="!alertEntry"
(click)="newNote(true)" i18n>Create Alert</button>
<a class="ms-auto" href="javascript:;" (click)="close()" title="Close" i18n-title>
<span class="material-icons text-danger">close</span>
</span>
</ng-container>
</div>
- <div class="flex-5 ml-2 p-1">{{note.value()}}</div>
- <div class="ml-2 p-1">{{note.create_time() | date:'short'}}</div>
- <div class="ml-2 p-1">
+ <div class="flex-5 ms-2 p-1">{{note.value()}}</div>
+ <div class="ms-2 p-1">{{note.create_time() | date:'short'}}</div>
+ <div class="ms-2 p-1">
<a href="javascript:;" class="text-danger"
(click)="deleteNote(note)" i18n>Delete</a>
</div>
<ng-container *ngIf="li">
<span i18n>{{li.order_summary().item_count()}} Items</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>{{li.order_summary().recv_count()}} Received</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>{{li.order_summary().invoice_count()}} Invoiced</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>{{li.order_summary().cancel_count()}} Canceled</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>{{li.order_summary().delay_count()}} Delayed</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>{{li.order_summary().estimated_amount() | currency}} Estimated</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span i18n>{{li.order_summary().encumbrance_amount() | currency}} Encumbered</span>
- <span class="ml-1 mr-1" i18n> | </span>
+ <span class="ms-1 me-1" i18n> | </span>
<span [ngClass]="{'text-danger': paidOff()}" i18n>
{{li.order_summary().paid_amount() | currency}} Paid
</span>
<div class="row">
- <div class="p-2 m-2 ml-4">
+ <div class="p-2 m-2 ms-4">
<button class="btn btn-outline-dark" (click)="printWorksheet()" i18n>
Print Worksheet
</button>
<div *ngIf="picklist" class="row pt-1 pb-1 border border-secondary rounded">
<div class="col-lg-4 form-inline">
- <span class="mr-2" i18n>Selection List:</span>
+ <span class="me-2" i18n>Selection List:</span>
<ng-container *ngIf="editPlName">
- <input id='pl-name-input' type="text" class="form-control"
+ <input id='ps-name-input' type="text" class="form-control"
[(ngModel)]="newPlName" (blur)="toggleNameEdit()"/>
</ng-container>
<ng-container *ngIf="!editPlName">
<a (click)="toggleNameEdit()" href='javascript:;'
- class='font-weight-bold' i18n>{{picklist.name()}} (#{{picklist.id()}})</a>
+ class='fw-bold' i18n>{{picklist.name()}} (#{{picklist.id()}})</a>
</ng-container>
</div>
<div class="col-lg-2" i18n>
</eg-staff-banner>
<div class="row" *ngIf="mode !== 'getImportParams'">
- <div class="ms-auto mr-3"><a i18n href="/eg/staff/acq/legacy/picklist/upload">Legacy Upload Interface</a></div>
+ <div class="ms-auto me-3"><a i18n href="/eg/staff/acq/legacy/picklist/upload">Legacy Upload Interface</a></div>
</div>
<eg-string #loadMarcOrderTemplateSavedString i18n-text text="Load MARC Order Record Template Saved"></eg-string>
dialogBody="A queue with the requested name already exists.">
</eg-alert-dialog>
-<div class="common-form striped-odd form-validated ml-3 mr-3">
+<div class="common-form striped-odd form-validated ms-3 me-3">
<div class="row">
<div class="col-lg-3">
<label for="template-select" i18n *ngIf="mode !== 'getImportParams'">Apply/Create Form Template</label>
<button class="btn btn-success"
[disabled]="!selectedTemplate"
(click)="saveTemplate()" i18n>Save Template</button>
- <button class="btn btn-outline-primary ml-3"
+ <button class="btn btn-outline-primary ms-3"
[disabled]="!selectedTemplate"
(click)="markTemplateDefault()" i18n>Mark Template as Default</button>
- <button class="btn btn-danger ml-3"
+ <button class="btn btn-danger ms-3"
[disabled]="!selectedTemplate"
(click)="deleteTemplate()" i18n>Delete Template</button>
</div>
Importing Queue {{importSelection().queue.name()}}</span>
</div>
<div class="col-lg-3">
- <button class="btn btn-outline-info ml-2" (click)="clearSelection()" i18n>
+ <button class="btn btn-outline-info ms-2" (click)="clearSelection()" i18n>
Clear Selection
</button>
</div>
</div>
<div class="row" *ngIf="mode !== 'getImportParams'">
<div class="col-lg-6 offset-lg-3">
- <button class="btn btn-success btn-lg btn-block font-weight-bold"
+ <button class="btn btn-success btn-lg btn-block fw-bold"
[disabled]="isUploading || !hasNeededData()"
(click)="upload()" i18n>Upload</button>
</div>
</div>
<div class="row" *ngIf="mode === 'getImportParams'">
<div class="col-lg-6 offset-lg-3">
- <button class="btn btn-success btn-lg btn-block font-weight-bold"
+ <button class="btn btn-success btn-lg btn-block fw-bold"
[disabled]="customActionProcessing || !hasNeededData()"
(click)="performCustomAction()" i18n>Submit</button>
</div>
<ng-container *ngIf="showBody">
<div class="row d-flex">
- <div class="flex-2 p-2 font-weight-bold">Charge Type</div>
- <div class="flex-2 p-2 font-weight-bold">Fund</div>
- <div class="flex-2 p-2 font-weight-bold">Title/Description</div>
- <div class="flex-2 p-2 font-weight-bold">Author</div>
- <div class="flex-2 p-2 font-weight-bold">Note</div>
- <div class="flex-2 p-2 font-weight-bold">Estimated Cost</div>
+ <div class="flex-2 p-2 fw-bold">Charge Type</div>
+ <div class="flex-2 p-2 fw-bold">Fund</div>
+ <div class="flex-2 p-2 fw-bold">Title/Description</div>
+ <div class="flex-2 p-2 fw-bold">Author</div>
+ <div class="flex-2 p-2 fw-bold">Note</div>
+ <div class="flex-2 p-2 fw-bold">Estimated Cost</div>
<div class="flex-2 p-2"> </div>
</div>
<div class="row mt-2 pt-2 d-flex border-top form-validated"
<div class="flex-2 p-1">
<button *ngIf="canModify" [disabled]="!(charge.isnew() || charge.ischanged())" class="btn btn-success btn-sm"
(click)="saveCharge(charge)" i18n>Save</button>
- <button *ngIf="canModify" [disabled]="charge.isnew()" class="btn btn-outline-dark btn-sm ml-1"
+ <button *ngIf="canModify" [disabled]="charge.isnew()" class="btn btn-outline-dark btn-sm ms-1"
(click)="charge.ischanged(true)" i18n>Edit</button>
- <button class="btn btn-warning btn-sm ml-1"
+ <button class="btn btn-warning btn-sm ms-1"
(click)="disencumberCharge(charge)" *ngIf="canDisencumber(charge)" i18n>Disencumber</button>
- <button class="btn btn-danger btn-sm ml-1"
+ <button class="btn btn-danger btn-sm ms-1"
(click)="removeCharge(charge)" *ngIf="canDelete(charge)" i18n>Remove</button>
</div>
</div>
<div class="p-1 m-1 form-inline">
<input type="text" class="form-control form-control-sm" id="note-text-input"
[(ngModel)]="noteText" placeholder="Note Text" i18n-placeholder/>
- <div class="form-check ml-2">
+ <div class="form-check ms-2">
<input class="form-check-input" type="checkbox"
[(ngModel)]="vendorPublic" id="vendor-public-cbox">
<label class="form-check-label" for="vendor-public-cbox" i18n>
Vendor Public
</label>
</div>
- <button class="btn btn-sm btn-success ml-2" [disabled]="!noteText"
+ <button class="btn btn-sm btn-success ms-2" [disabled]="!noteText"
(click)="newNote()" i18n>New Note</button>
<a class="ms-auto" href="javascript:;" (click)="close()" title="Close" i18n-title>
<span class="material-icons text-danger">close</span>
<div class="text-primary" i18n>VENDOR PUBLIC</div>
</ng-container>
</div>
- <div class="flex-5 ml-2 p-1">{{note.value()}}</div>
- <div class="ml-2 p-1">{{note.create_time() | date:'short'}}</div>
- <div class="ml-2 p-1">
+ <div class="flex-5 ms-2 p-1">{{note.value()}}</div>
+ <div class="ms-2 p-1">{{note.create_time() | date:'short'}}</div>
+ <div class="ms-2 p-1">
<a href="javascript:;" class="text-danger"
(click)="deleteNote(note)" i18n>Delete</a>
</div>
<div class="row">
- <div class="p-2 m-2 ml-4">
+ <div class="p-2 m-2 ms-4">
<button class="btn btn-outline-dark" (click)="printPo()" i18n>
Print Purchase Order
</button>
<div class="flex-2" i18n>PO Name:</div>
<div class="flex-4">
<ng-container *ngIf="editPoName">
- <input id='pl-name-input' type="text" class="form-control"
+ <input id='ps-name-input' type="text" class="form-control"
[ngModel]="newPoName" (ngModelChange)="newPoName = $event; checkDuplicatePoName()"
(keyup.enter)="toggleNameEdit(true)"
(blur)="toggleNameEdit()"/>
</ng-container>
<ng-container *ngIf="!editPoName">
<a (click)="toggleNameEdit()" href='javascript:;'
- class='font-weight-bold'>{{po().name()}}</a>
+ class='fw-bold'>{{po().name()}}</a>
</ng-container>
<div *ngIf="dupeResults.dupeFound" class="alert alert-warning" i18n>
This name is already in used by another PO:
</div>
<div class="col-lg-8 d-flex">
<div class="form-check form-check-inline" *ngIf="po().state() === 'new' || po().state() === 'pending'">
- <input class="ml-0 form-check-input" type="checkbox" (change)="setCanActivate()"
+ <input class="ms-0 form-check-input" type="checkbox" (change)="setCanActivate()"
id="zero-copy-cbox" [(ngModel)]="zeroCopyActivate"/>
<label class="form-check-label" for="zero-copy-cbox" i18n>
Allow Activation with Zero-Item Line Items?
<div class="col-lg-12">
<a class="" href="javascript:;" class="label-with-material-icon"
(click)="showNotes=!showNotes">
- <span class="material-icons small mr-1">event_note</span>
+ <span class="material-icons small me-1">event_note</span>
<span>Notes ({{po().notes().length}})</span>
</a>
<ng-container *ngIf="po().order_date()"> <!-- show invoice actions only if order was activated -->
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a [queryParams]="{f: 'acqpo:id', val1: poId}" class="label-with-material-icon"
routerLink="/staff/acq/search/invoices">
- <span class="material-icons small mr-1">list</span>
+ <span class="material-icons small me-1">list</span>
<span i18n>Invoices ({{invoiceCount}})</span>
</a>
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a href="/eg/staff/acq/legacy/invoice/view?create=1&attach_po={{poId}}"
class="label-with-material-icon">
- <span class="material-icons small mr-1">receipt</span>
+ <span class="material-icons small me-1">receipt</span>
<span i18n>Create Invoice</span>
</a>
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a (click)="linkInvoiceFromPo()" href="javascript:;"
class="label-with-material-icon">
- <span class="material-icons small mr-1">receipt</span>
+ <span class="material-icons small me-1">receipt</span>
<span i18n>Link Invoice</span>
</a>
</ng-container> <!-- show invoice actions -->
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a routerLink="./edi" i18n>EDI Messages ({{ediMessageCount}})</a>
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a routerLink="./history" i18n>History</a>
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a routerLink="./printer" class="label-with-material-icon">
- <span class="material-icons small mr-1">print</span>
+ <span class="material-icons small me-1">print</span>
<span i18n>Print</span>
</a>
<ng-container *ngIf="po().state() === 'on-order'">
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<button class="btn btn-sm btn-danger" (click)="cancelPo()" i18n>Cancel Order</button>
</ng-container>
<ng-container *ngIf="canActivate === true">
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<button class="btn btn-sm btn-primary" (click)="activatePo(true)" [disabled]="doingActivation" i18n>Activate Without Loading Items</button>
</ng-container>
<ng-container *ngIf="canActivate === true">
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<button class="btn btn-sm btn-success" (click)="activatePo()" [disabled]="doingActivation" i18n>Activate Order</button>
</ng-container>
<ng-container *ngIf="canFinalize">
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a (click)="finalizePo()" href="javascript:;" class="label-with-material-icon">
- <span class="material-icons small mr-1">check_circle</span>
+ <span class="material-icons small me-1">check_circle</span>
<span i18n>Finalize Blanket Order</span>
</a>
</ng-container>
<ng-container *ngIf="showLegacyLinks">
- <span class="pl-2 pr-2" i18n> | </span>
+ <span class="ps-2 pe-2" i18n> | </span>
<a href="/eg/staff/acq/legacy/po/view/{{poId}}" target="_blank">
Show PO in Legacy Interface
</a>
-<div id="acq-provider-search-form" class="pl-3 pr-3 pt-3 pb-3 mb-3">
+<div id="acq-provider-search-form" class="ps-3 pe-3 pt-3 pb-3 mb-3">
<form>
<div class="row mb-1">
<div class="col-lg">
</eg-org-family-select>
</div>
<div class="col-lg-2 text-right">
- <button class="btn btn-primary mr-1" (click)="submitSearch()" type="submit" [hidden]="!collapsed" i18n>Search</button>
+ <button class="btn btn-primary me-1" (click)="submitSearch()" type="submit" [hidden]="!collapsed" i18n>Search</button>
<button class="btn btn-secondary" (click)="clearSearch()" type="button" [hidden]="!collapsed" i18n>Reset Form</button>
<button class="btn" [hidden]="collapsed" (click)="toggleCollapse()" type="submit" i18n><span class="material-icons">expand_less</span></button>
<button class="btn" [hidden]="!collapsed" (click)="toggleCollapse()" type="submit" i18n><span class="material-icons">expand_more</span></button>
</div>
<div class="row mb-1" [hidden]="collapsed">
<div class="col-lg-2 offset-lg-10 text-right">
- <button class="btn btn-primary mr-1" (click)="submitSearch()" type="submit" i18n>Search</button>
+ <button class="btn btn-primary me-1" (click)="submitSearch()" type="submit" i18n>Search</button>
<button class="btn btn-secondary" (click)="clearSearch()" type="button" i18n>Reset Form</button>
</div>
</div>
</div>
<div class="col-lg-auto">
<div class="btn-toolbar" role="toolbar">
- <div class="button-grp mr-2">
+ <div class="button-grp me-2">
<button class="btn btn-primary" [hidden]="showSearchForm" (click)="showSearchForm = !showSearchForm" i18n>Show Search Form</button>
<button class="btn btn-primary" [hidden]="!showSearchForm" (click)="showSearchForm = !showSearchForm" i18n>Hide Search Form</button>
</div>
- <div class="button-grp mr-2">
+ <div class="button-grp me-2">
<button class="btn btn-primary" (click)="createNew()" [disabled]="!providerRecord.checkIfCanAdminAtAll()" i18n>New Provider</button>
</div>
</div>
<button class="btn" *ngIf="provider_id" [hidden]="!collapsed" (click)="toggleCollapse()" type="submit" i18n><span class="material-icons">expand_more</span></button>
<button class="btn" *ngIf="provider_id" [hidden]="collapsed" (click)="toggleCollapse()" type="submit" i18n><span class="material-icons">expand_less</span></button>
-<div id="acq-provider-summary-pane" [hidden]="!provider_id || collapsed" class="pl-3 pr-3 pt-3 pb-3 mb-3">
+<div id="acq-provider-summary-pane" [hidden]="!provider_id || collapsed" class="ps-3 pe-3 pt-3 pb-3 mb-3">
<ng-template #errorStrTmpl i18n>Provider Deletion Failed</ng-template>
<eg-string #deleteSuccessString i18n-text text="Successfully deleted provider."></eg-string>
<div class="col-lg-2 p-1">
<button class="btn btn-outline-dark label-with-material-icon"
(click)="createPicklist()" i18n>
- <span class="material-icons mr-1">create_new_folder</span>
+ <span class="material-icons me-1">create_new_folder</span>
Create Selection List
</button>
</div>
<div class="col-lg-2 p-1">
<button class="btn btn-outline-dark label-with-material-icon"
(click)="addingToPl=!addingToPl" i18n>
- <span class="material-icons mr-1">add_circle</span>
+ <span class="material-icons me-1">add_circle</span>
Add To Selection List
</button>
</div>
<div class="col-lg-2 p-1">
<button class="btn btn-outline-dark label-with-material-icon"
(click)="createPo()" i18n>
- <span class="material-icons mr-1">create_new_folder</span>
+ <span class="material-icons me-1">create_new_folder</span>
Create Purchase Order
</button>
</div>
<div class="col-lg-2 p-1">
<button class="btn btn-outline-dark label-with-material-icon"
(click)="addingToPo=!addingToPo" i18n>
- <span class="material-icons mr-1">add_circle_outline</span>
+ <span class="material-icons me-1">add_circle_outline</span>
Add To Purchase Order
</button>
</div>
<eg-string #defaultSearchSavedString i18n-text text="Default search saved"></eg-string>
<eg-string #defaultSearchResetString i18n-text text="Default search reset"></eg-string>
-<div id="acq-search-form" class="pl-3 pr-3 pt-3 pb-3 mb-3">
+<div id="acq-search-form" class="ps-3 pe-3 pt-3 pb-3 mb-3">
<form>
<div class="row mb-1">
<div class="col form-group form-inline">
<label i18n>Search for records matching
- <select class="form-inline ml-1 mr-1" id="acq-search-conjunction" [ngModelOptions]="{standalone: true}" [(ngModel)]="searchConjunction">
+ <select class="form-inline ms-1 me-1" id="acq-search-conjunction" [ngModelOptions]="{standalone: true}" [(ngModel)]="searchConjunction">
<option value="all">all</option>
<option value="any">any</option>
</select>
</optgroup>
</select>
</div>
- <div class="col-xs-2 pl-3">
+ <div class="col-xs-2 ps-3">
<select class="form-control" id="selected-search-op" [ngModelOptions]="{standalone: true}" [(ngModel)]="t.op"
(ngModelChange)="oldOp = t.op; t.op = $event"
(change)="clearSearchTermValueAfterOpChange(t, oldOp)">
</ng-template>
</ng-container>
</div>
- <div class="col-xs-2 pl-3 pr-1">
+ <div class="col-xs-2 ps-3 pe-1">
<button class="btn btn-sm material-icon-button" type="button"
(click)="addSearchTerm()"
i18n-title title="Add Search Row"><span class="visually-hidden">Add Search Row</span>
<button class="btn btn-success" (click)="submitSearch()" type="submit" i18n>Search</button>
</div>
<div class="col-xs-3"></div>
- <div class="col-xs-5 pl-3">
- <button class="btn btn-primary mr-1" (click)="saveSearchAsDefault()" type="button" i18n>Set As Default {{searchTypeLabel}} Search</button>
+ <div class="col-xs-5 ps-3">
+ <button class="btn btn-primary me-1" (click)="saveSearchAsDefault()" type="button" i18n>Set As Default {{searchTypeLabel}} Search</button>
<button class="btn btn-secondary" (click)="clearDefaultSearch()" type="button" [disabled]="!hasDefaultSearch" i18n>
Reset Default Search
</button>
</div>
- <div class="col-xs-3 pl-5">
+ <div class="col-xs-3 ps-5">
<input class="form-check-input" type="checkbox" id="retrieve-immediately"
(change)="saveRunImmediately()"
[ngModelOptions]="{standalone: true}" [(ngModel)]="runImmediately"/>
</eg-staff-banner>
<div class="row">
- <div class="ms-auto mr-3"><a i18n href="/eg/staff/acq/legacy/search/unified">Legacy Search Interface</a></div>
+ <div class="ms-auto me-3"><a i18n href="/eg/staff/acq/legacy/search/unified">Legacy Search Interface</a></div>
</div>
<div class="row" id="acq-search-page">
<div class="col-lg-12">
<ng-template #summaryField let-field="field" let-value="value" let-rawValue="rawValue">
<div class="col-2">
- <label style="font-weight: bold" for="fund-{{field}}">{{idlDef.field_map[field].label}}</label>
+ <label style="fw: bold" for="fund-{{field}}">{{idlDef.field_map[field].label}}</label>
</div>
<div class="col-2">
<span id="fund-{{field}}" [ngClass]="{'negative-money-amount': checkNegativeAmount(rawValue)}">
<button class="btn btn-primary"
[disabled]="fund?.active() !== 't'"
(click)="allocateToFund()" i18n>Create Allocation</button>
- <button class="btn btn-primary ml-1"
+ <button class="btn btn-primary ms-1"
[disabled]="fund?.active() !== 't'"
(click)="doTransfer()" i18n>Transfer Money</button>
</div>
<ng-template ngbNavContent>
<div class="mt-2">
<div class="row">
- <button class="btn btn-info ml-3" (click)="openEditDialog()" i18n>Edit Fund</button>
+ <button class="btn btn-info ms-3" (click)="openEditDialog()" i18n>Edit Fund</button>
</div>
<div class="row">
<ng-container *ngTemplateOutlet="summaryField;context:{value:fund.code(),field:'code'}"></ng-container>
<div class="modal-body" [hidden]="!doneLoading">
<form #rolloverForm="ngForm" role="form" class="form-validated">
<div class="row col">
- <label for="year" class="my-1 mr-1" i18n>Year</label>
+ <label for="year" class="my-1 me-1" i18n>Year</label>
<eg-combobox [entries]="years" *ngIf="years"
[required]="true" [selectedId]="year"
(onChange)="year = $event ? $event.id : null">
<ng-template #summaryField let-field="field" let-value="value">
<div class="col-2">
- <label style="font-weight: bold" for="fund-{{field}}">{{idlDef.field_map[field].label}}</label>
+ <label style="fw: bold" for="fund-{{field}}">{{idlDef.field_map[field].label}}</label>
</div>
<div class="col-2">
<span id="fund-{{field}}">
<div class="row">
<div class="col-lg-12 d-flex">
- <div class="mr-2" i18n>Context Org Unit</div>
+ <div class="me-2" i18n>Context Org Unit</div>
<div>
<eg-org-select (onChange)="orgChanged($event)" [initialOrgId]="contextOrg">
</eg-org-select>
</div>
- <div class="ml-3">
+ <div class="ms-3">
<button (click)="up()" i18n-title title="Move Selected Location Up"
- class="mr-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
+ class="me-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
<span class="material-icons">arrow_upward</span>
</button>
<button (click)="down()" i18n-title title="Move Selected Location Down"
- class="mr-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
+ class="me-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
<span class="material-icons">arrow_downward</span>
</button>
<button (click)="up(true)" i18n-title title="Move Selected Location To Top"
- class="mr-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
+ class="me-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
<span class="material-icons">vertical_align_top</span>
</button>
<button (click)="down(true)" i18n-title title="Move Selected Location To Bottom"
- class="mr-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
+ class="me-2 btn btn-sm btn-outline-dark .mat-icon-shrunk-in-button">
<span class="material-icons">vertical_align_bottom</span>
</button>
- <span class="ml-2 font-italic" *ngIf="selected()">
+ <span class="ms-2 font-italic" *ngIf="selected()">
Selected: {{selected().location().name()}}
({{orgSn(selected().location().owning_lib())}})
</span>
<div class="col-lg-12">
<input type="radio" name="selected-entry"
[value]="entry.id()" [(ngModel)]="selectedEntry"/>
- <span class="flex-1 ml-1 p-1" i18n
+ <span class="flex-1 ms-1 p-1" i18n
[ngClass]="{'border border-primary rounded': selectedEntry === entry.id()}">
{{entry.location().name()}} ({{orgSn(entry.location().owning_lib())}})
</span>
- <span *ngIf="entry.isnew()" class="ml-2 font-italic text-info">(unsaved)</span>
+ <span *ngIf="entry.isnew()" class="ms-2 font-italic text-info">(unsaved)</span>
</div>
</div>
</li>
</ng-template>
<ng-template #barcodeCellTemplate let-entry="row">
<span *ngIf="entry.item()">
- <a class="pl-1" href="/eg/staff/cat/item/{{entry.item().id()}}">
+ <a class="ps-1" href="/eg/staff/cat/item/{{entry.item().id()}}">
{{entry.item().barcode()}}
</a>
</span>
</ng-template>
<ng-template #titleCellTemplate let-entry="row">
- <a class="pl-1" routerLink="/staff/catalog/record/{{entry.record().id()}}">
+ <a class="ps-1" routerLink="/staff/catalog/record/{{entry.record().id()}}">
{{entry.record().wide_display_entry().title()}}
</a>
</ng-template>
(click)="unarchiveCourse()" *ngIf="currentCourse && (courseIsArchived || currentCourse.is_archived()) === 't' ">
<span class="align-middle">Unarchive Course</span>
</button>
- <a class="btn btn-warning ml-3" routerLink="/staff/admin/local/asset/course_list" i18n>
+ <a class="btn btn-warning ms-3" routerLink="/staff/admin/local/asset/course_list" i18n>
<i class="material-icons align-middle">keyboard_return</i>
<span class="align-middle">Return to Course List</span>
</a>
<div class="row mt-2 mb-2">
<div class="col-lg-6 form-inline">
- <span class="pr-2" i18n>Patron Home Library:</span>
+ <span class="pe-2" i18n>Patron Home Library:</span>
<eg-org-select
persistKey="admin.local.negative_balances"
(componentLoaded)="contextOrgLoaded = true"
<ng-template #revertTemplate let-log="row">
<span>
<a
- (click)="revert(log)" class="pl-1"
+ (click)="revert(log)" class="ps-1"
[routerLink]="" i18n>
Revert
</a>
aria-label="Filter Settings"
i18n-aria-label
/>
- <button class="btn btn-outline-dark mr-1" i18n>Filter</button>
- <button class="btn btn-outline-dark mr-1" i18n
+ <button class="btn btn-outline-dark me-1" i18n>Filter</button>
+ <button class="btn btn-outline-dark me-1" i18n
(click)="applyFilter(true)">Clear Filter</button>
</div>
</div>
<div class="col-md-3">
<div class="input-group">
- <button class="btn btn-outline-dark mr-1"
+ <button class="btn btn-outline-dark me-1"
(click)="showJsonDialog(true)" i18n>Export</button>
- <button class="btn btn-outline-dark mr-1"
+ <button class="btn btn-outline-dark me-1"
(click)="showJsonDialog(false)" i18n>Import</button>
</div>
</div>
<ng-template #historyCellTemplate let-entry="row">
<span>
<a
- (click)="showHistoryDialog(entry)" class="pl-1"
+ (click)="showHistoryDialog(entry)" class="ps-1"
[routerLink]="" i18n>
History
</a>
</div>
<div class="modal-body">
<div class="row">
- <div class="col-lg-3 font-weight-bold" i18n>Query Label</div>
+ <div class="col-lg-3 fw-bold" i18n>Query Label</div>
<div class="col-lg-9">
<input type="text" class="form-control" name="query_label"
placeholder="Query Label"
</div>
</div>
<div class="row mt-3">
- <div class="col-lg-3 font-weight-bold" i18n>Query Text</div>
+ <div class="col-lg-3 fw-bold" i18n>Query Text</div>
<div class="col-lg-9">
<input type="text" class="form-control" name="query_text"
placeholder="Query Text"
</div>
</div>
<div class="row mt-3">
- <div class="col-lg-3 font-weight-bold" i18n>Position</div>
+ <div class="col-lg-3 fw-bold" i18n>Position</div>
<div class="col-lg-9">
<input type="number" class="form-control" name="pos"
placeholder="Position"
<div class="row">
- <div style="font-size: 24px;" class="mr-3">Shelving Location Groups</div>
+ <div style="font-size: 24px;" class="me-3">Shelving Location Groups</div>
<eg-org-select (onChange)="orgOnChange($event)" [initialOrgId]="1"></eg-org-select>
</div>
<div class="row">
<eg-staff-banner bannerText="Location Groups" i18n-bannerText>
</eg-staff-banner>
<div class="text-center">
- <div class="btn btn-outline-dark mb-3 ml-2" (click)="createLocationGroup()"
+ <div class="btn btn-outline-dark mb-3 ms-2" (click)="createLocationGroup()"
*ngIf="hasPermission">
New Location Group
</div>
- <div class="btn btn-outline-dark mb-3 ml-2 disabled"
+ <div class="btn btn-outline-dark mb-3 ms-2 disabled"
*ngIf="!hasPermission">
New Location Group
</div>
</div>
<div class="row">
<div class="col-lg-6 h-100 p-2 text-center">
- <span class="align-middle font-weight-bold">Name</span>
+ <span class="align-middle fw-bold">Name</span>
</div>
<div class="col-lg-1 h-100 p-2 text-center">
- <span class="align-middle font-weight-bold">Pos</span>
+ <span class="align-middle fw-bold">Pos</span>
</div>
<div class="col-lg-2 h-100 p-2 text-center">
- <span class="align-middle font-weight-bold">Visible?</span>
+ <span class="align-middle fw-bold">Visible?</span>
</div>
<div class="col-lg-3">
</div>
</div>
<div class="col-lg-3 h-100 btn-group p-2">
<span *ngIf="hasPermission"
- class="btn btn-sm btn-outline-dark mr-1"
+ class="btn btn-sm btn-outline-dark me-1"
(click)="editLocationGroup(group)">
Edit
</span>
<span *ngIf="!hasPermission"
- class="btn btn-sm btn-outline-dark mr-1 disabled">
+ class="btn btn-sm btn-outline-dark me-1 disabled">
Edit
</span>
<span *ngIf="hasPermission"
- class="btn btn-sm btn-danger mr-2"
+ class="btn btn-sm btn-danger me-2"
(click)="deleteLocationGroup(group)">
Delete
</span>
<span *ngIf="!hasPermission"
- class="btn btn-sm btn-danger mr-2 disabled">
+ class="btn btn-sm btn-danger me-2 disabled">
Delete
</span>
<span class="align-middle">
<td>
<input
type="checkbox"
- class="mr-2"
+ class="me-2"
[(ngModel)]="group.checked"
[checked]="group.checked"
id="{{group.label}}" />
<td>
<input
type="checkbox"
- class="mr-2"
+ class="me-2"
[(ngModel)]="location.checked"
[checked]="location.checked"
id="{{location.label}}" />
<div class="flex-1"></div><!-- push right -->
<ng-container *ngIf="gridFilters">
<span i18n>Filters Applied: {{gridFilters | json}}</span>
- <a class="pl-2 font-italic"
+ <a class="ps-2 font-italic"
[attr.href]="clearGridFiltersUrl()" i18n>Clear Filters</a>
</ng-container>
</div>
<input type="text" [(ngModel)]="question.words" class="form-control"
name="question-{{questionIndex}}">
<span class="input-group-append">
- <button class="ml-2 btn btn-info"
+ <button class="ms-2 btn btn-info"
(click)="updateQuestion(question)" i18n>
Save
</button>
- <button class="ml-1 btn btn-danger"
+ <button class="ms-1 btn btn-danger"
(click)="deleteQuestion(question)" i18n>
Delete Question & Answers
</button>
[(ngModel)]="answer.words"
name="answer-{{questionIndex}}-{{answerIndex}}">
<span class="input-group-append">
- <button class="ml-2 btn btn-info"
+ <button class="ms-2 btn btn-info"
(click)="updateAnswer(answer, question, questionIndex, answerIndex)"
i18n>
Save
</button>
- <button class="ml-1 btn btn-danger" (click)="deleteAnswer(answer)"
+ <button class="ms-1 btn btn-danger" (click)="deleteAnswer(answer)"
i18n>
Delete
</button>
[(ngModel)]="newAnswerArray[questionIndex].inputText"
value="">
<span class="input-group-append">
- <button class="ml-2 btn btn-info"
+ <button class="ms-2 btn btn-info"
(click)="createAnswer(newAnswerArray[questionIndex].inputText, question)"
i18n>
Add Answer
[(ngModel)]="newQuestionText"
name="question-new" value="">
<span class="input-group-append">
- <button class="ml-2 btn btn-info"
+ <button class="ms-2 btn btn-info"
(click)="createQuestion(newQuestionText)" i18n>
Save Question & Add Answer
</button>
fieldOrder="owner,name,hook,active,delay,delay_field,group_field,reactor,validator,repeat_delay,id,cleanup_failure,granularity,max_delay,message_library_path,message_template,message_title,message_usr_path,opt_in_setting,usr_field,retention_interval,cleanup_success,template">
</eg-fm-record-editor>
<div class="text-right">
- <button class="btn btn-outline-dark mr-3" (click)="back()">← Back to Notifications/Action Triggers</button>
+ <button class="btn btn-outline-dark me-3" (click)="back()">← Back to Notifications/Action Triggers</button>
</div>
</ng-template>
</li>
<h3 class="mb-3">Run Tests</h3>
<label id="barcode">Barcode of Circulating Copy </label>
<input aria-labelledby="barcode" type="text" [(ngModel)]="barcode"
- (keyup.enter)="runTest(barcode)" class="ml-2" />
+ (keyup.enter)="runTest(barcode)" class="ms-2" />
<div></div>
<button class="btn btn-info" (click)="runTest(barcode)" i18n>Go</button>
<div [hidden]="!testDone">
<div class="row">
<div class="col-lg-6">
<div class="d-flex mb-4" *ngIf="tree">
- <button class="btn btn-warning mr-2" (click)="deleteNode()"
+ <button class="btn btn-warning me-2" (click)="deleteNode()"
[disabled]="!hasSelectedNode()" i18n>
Remove Selected Node
</button>
- <button class="btn btn-success mr-1" (click)="saveTree()"
+ <button class="btn btn-success me-1" (click)="saveTree()"
[disabled]="!changesMade" i18n>
Save Changes
</button>
<div>
<eg-tree [tree]="tree" (nodeClicked)="nodeClicked($event)" *ngIf="tree">
</eg-tree>
- <p *ngIf="!tree" class="font-italic mt-4 ml-3">No tree</p>
+ <p *ngIf="!tree" class="font-italic mt-4 ms-3">No tree</p>
</div>
<button class="btn btn-danger mt-4" (click)="deleteTree()" i18n *ngIf="tree">
Delete Tree
</div>
<div class="col-lg-6">
<div class="d-flex">
- <button class="btn btn-outline-dark mr-3"
+ <button class="btn btn-outline-dark me-3"
(click)="newPointType='bool'" i18n>Add New Boolean Operator</button>
<button class="btn btn-outline-dark"
(click)="newPointType='attr'" i18n>Add New Record Attribute</button>
<eg-composite-new-point #newPoint [pointType]="newPointType"></eg-composite-new-point>
- <div class="row mt-2 ml-2 font-italic" *ngIf="newPointType && tree">
+ <div class="row mt-2 ms-2 font-italic" *ngIf="newPointType && tree">
<ol i18n>
<li>Define a new node using the above fields.</li>
<li>Select a boolean node in the tree.</li>
<p><b>Note</b> - A NOT boolean node can only have one child: a record attribute, or an
AND / OR boolean node with its own children.</p>
</div>
- <div *ngIf="!tree" class="row mt-2 ml-2 font-italic">To start a new tree add a boolean operator
+ <div *ngIf="!tree" class="row mt-2 ms-2 font-italic">To start a new tree add a boolean operator
or record attribute and click "New Tree".</div>
- <div class="row ml-2 mt-2" *ngIf="!tree">
+ <div class="row ms-2 mt-2" *ngIf="!tree">
<button class="btn btn-success" (click)="createNewTree()" i18n
[disabled]="newTreeButtonDisabled()">
New tree
</button>
</div>
- <div class="row ml-2" *ngIf="newPointType && tree">
+ <div class="row ms-2" *ngIf="newPointType && tree">
<button class="btn btn-success" (click)="addChildNode()"
[disabled]="addButtonDisabled()" i18n>
Add To Selected Node
</button>
- <button class="btn btn-success ml-3" (click)="addChildNode(true)"
+ <button class="btn btn-success ms-3" (click)="addChildNode(true)"
[disabled]="replaceButtonDisabled()" i18n>
Replace Selected Node
</button>
-<div class="row ml-2 mt-4 p-2 border border-secondary" *ngIf="values.pointType">
+<div class="row ms-2 mt-4 p-2 border border-secondary" *ngIf="values.pointType">
<div class="col-lg-12">
<h3 class="text-center" *ngIf="values.pointType==='attr'">
Record Attribute
<div class="row">
<div class="col text-right">
- <a class="btn btn-warning ml-3" routerLink="/staff/admin/server/config/floating_group">
+ <a class="btn btn-warning ms-3" routerLink="/staff/admin/server/config/floating_group">
<span class="material-icons align-middle">keyboard_return</span>
<span class="align-middle" i18n>Return to Floating Groups List</span>
</a>
<div class="alert alert-info">
<span i18n>This address is used for multiple address types.</span>
<button (click)="cloneAddress(type)"
- class="btn btn-light ml-3" i18n>Clone As New Address</button>
+ class="btn btn-light ms-3" i18n>Clone As New Address</button>
</div>
</ng-container>
<label i18n>Actions for Selected: </label>
</div>
<div class="col-lg-9">
- <button class="btn btn-info mr-2" (click)="edit()" i18n>Edit</button>
- <button class="btn btn-info mr-2" (click)="addChild()" i18n>Add Child</button>
- <button class="btn btn-warning mr-2" (click)="remove()"
+ <button class="btn btn-info me-2" (click)="edit()" i18n>Edit</button>
+ <button class="btn btn-info me-2" (click)="addChild()" i18n>Add Child</button>
+ <button class="btn btn-warning me-2" (click)="remove()"
[disabled]="selected.callerData.aout.children().length > 0 || selected.callerData.orgCount > 0" i18n>Delete</button>
</div>
</div>
<div class="col-lg-4">
<label i18n>Name: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.aout.name()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>Label: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.aout.opac_label()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>Can Have Users: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
<!-- TODO: use <eg-bool/> once merged-->
{{selected.callerData.aout.can_have_users() === 't'}}
</div>
<div class="col-lg-4">
<label i18n>Can Have Holdings: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
<!-- TODO: use <eg-bool/> once merged-->
{{selected.callerData.aout.can_have_vols() === 't'}}
</div>
<div class="col-lg-4">
<label i18n>Depth: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.aout.depth()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>Number of Org Units Of This Type: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.orgCount}}
</div>
</div>
<a i18n ngbNavLink role="tab">Hours of Operation</a>
<ng-template ngbNavContent>
<div class="mt-2 common-form striped-even">
- <div class="row font-weight-bold mb-2">
+ <div class="row fw-bold mb-2">
<div class="col-lg-3 offset-lg-2" i18n>Open Time</div>
<div class="col-lg-3" i18n>Close Time</div>
<div class="col-lg-2 offset-lg-2" i18n>Edit Note Field?</div>
</div>
</div>
<div class="row d-flex justify-content-end">
- <div class="alert alert-warning mr-2 p-1"
+ <div class="alert alert-warning me-2 p-1"
*ngIf="currentOrg().hours_of_operation().isnew()">
Hours of Operation Have Not Yet Been Saved.
</div>
- <div class="mr-2">
+ <div class="me-2">
<button class="btn btn-warning" (click)="deleteHours()" i18n>
Clear Hours of Operation
</button>
<label i18n>Actions for Selected: </label>
</div>
<div class="col-lg-9">
- <button class="btn btn-info mr-2" (click)="edit()" i18n>Edit</button>
- <button class="btn btn-info mr-2" (click)="addChild()" i18n>Add Child</button>
- <button class="btn btn-warning mr-2" (click)="remove()" i18n>Delete</button>
+ <button class="btn btn-info me-2" (click)="edit()" i18n>Edit</button>
+ <button class="btn btn-info me-2" (click)="addChild()" i18n>Add Child</button>
+ <button class="btn btn-warning me-2" (click)="remove()" i18n>Delete</button>
</div>
</div>
<div class="row">
<div class="col-lg-4">
<label i18n>Name: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.name()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>Description: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.description()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>User Expiration Interval: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.perm_interval()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>Application Permission: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.application_perm()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>Hold Priority: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
{{selected.callerData.hold_priority()}}
</div>
</div>
<div class="col-lg-4">
<label i18n>User Group?: </label>
</div>
- <div class="col-lg-8 font-weight-bold">
+ <div class="col-lg-8 fw-bold">
<!-- TODO: replace with <eg-bool/> when merged -->
{{selected.callerData.usergroup() === 't'}}
</div>
[disabled]='!changesPending()'>
Apply Changes
</button>
- <button class="btn btn-info ml-3" (click)="openAddDialog()" i18n>
+ <button class="btn btn-info ms-3" (click)="openAddDialog()" i18n>
Add New Mapping
</button>
<div class="col-lg-3">
- <input class="form-control ml-2" [(ngModel)]="filterText"
+ <input class="form-control ms-2" [(ngModel)]="filterText"
i18n-placeholder placeholder="Filter..."/>
</div>
- <button class="btn btn-outline-secondary ml-1"
+ <button class="btn btn-outline-secondary ms-1"
(click)="filterText=''" i18n>
Clear
</button>
<div class="row font-italic">
<span class="label-with-material-icon" i18n>
Permissions marked with a
- <span class="pl-1 pr-1 font-weight-bold text-danger
+ <span class="ps-1 pe-1 fw-bold text-danger
material-icons mat-icon-shrunk-in-button">new_releases</span>
override parent group permissions.
</span>
</div>
- <div class="row font-weight-bold">
+ <div class="row fw-bold">
<div class="col-lg-5" i18n>Permissions</div>
<div class="col-lg-4" i18n>Group</div>
<div class="col-lg-1" i18n>Depth</div>
</span>
<span *ngIf="permOverrides(map)"
i18n-title title="Permission Overrides a Parent Group Permission"
- class="pl-1 font-weight-bold text-danger material-icons mat-icon-shrunk-in-button"
+ class="ps-1 fw-bold text-danger material-icons mat-icon-shrunk-in-button"
i18n>new_releases</span>
</span>
</div>
<button class="btn btn-info" (click)="openEditDialog()" i18n>
Edit Template Attributes
</button>
- <button class="btn btn-success ml-2" (click)="applyChanges()" i18n>
+ <button class="btn btn-success ms-2" (click)="applyChanges()" i18n>
Save Template Changes
</button>
- <button class="btn btn-info ml-2" (click)="cloneTemplate()" i18n>
+ <button class="btn btn-info ms-2" (click)="cloneTemplate()" i18n>
Clone Template
</button>
- <span class="ml-3 mr-1" i18n>Force Print Context:</span>
+ <span class="ms-3 me-1" i18n>Force Print Context:</span>
<eg-combobox #printContextCbox (onChange)="forceContextChange($event)">
<eg-combobox-entry entryId="unset" entryLabel="<Unset>" i18n-entryLabel>
</eg-combobox-entry>
</eg-combobox-entry>
</eg-combobox>
<div class="flex-1"> </div>
- <button class="btn btn-danger ml-2" (click)="deleteTemplate()" i18n>
+ <button class="btn btn-danger ms-2" (click)="deleteTemplate()" i18n>
Delete Template
</button>
- <span *ngIf="invalidJson" class="badge badge-danger ml-2" i18n>
+ <span *ngIf="invalidJson" class="rounded-pill bg-danger ms-2" i18n>
Invalid Sample JSON!
</span>
</div>
<div class="col-lg-6">
<h4 i18n>
Template for "{{template.label()}} ({{getOwnerName(template.id())}})"
- <span class="pl-2 text-warning" *ngIf="template.active() === 'f'">
+ <span class="ps-2 text-warning" *ngIf="template.active() === 'f'">
(Inactive)
</span>
</h4>
</div>
<form class="modal-body form-common" [formGroup]="create">
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-patron-barcode">Patron barcode</label>
<div class="col-lg-7">
<input type="text" id="create-patron-barcode"
</span>
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-end-time">Start time</label>
<eg-datetime-select
formControlName="startTime"
</eg-datetime-select>
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-end-time">End time</label>
<eg-datetime-select
formControlName="endTime"
</div>
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-pickup-library">Reservation location</label>
<eg-org-select domId="create-pickup-library" [applyDefault]="true"
[disableOrgs]="disableOrgs()" [hideOrgs]="disableOrgs()"
<span i18n>Reservation location is in the {{timezone}} timezone</span>
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-resource">Resource</label>
<input *ngIf="targetResource && targetResourceBarcode" id="create-resource" value="{{targetResourceBarcode}}" disabled>
<eg-combobox
</eg-combobox>
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-email-notify">Notify by email?</label>
<input type="checkbox" formControlName="emailNotify">
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
i18n for="create-note">Note</label>
<input type="text" id="create-note"
class="form-control col-lg-7" formControlName="note">
<button (click)="addBresvAndOpenPatronReservations()" [disabled]="!create.valid" class="btn btn-info" i18n>
Confirm and show patron reservations
</button>
- <button (click)="close()" class="btn btn-warning ml-2" i18n>Cancel</button>
+ <button (click)="close()" class="btn btn-warning ms-2" i18n>Cancel</button>
</div>
</ng-template>
<eg-alert-dialog #fail i18n-dialogBody
can lead to firing duplicate searches if you're quick on the draw.
If we want it back, uncomment and add a [disabled] attribute to
prevent dupe searches.
- <button class="btn btn-outline-dark ml-2" (click)="search()" i18n>Submit</button>
+ <button class="btn btn-outline-dark ms-2" (click)="search()" i18n>Submit</button>
-->
</div>
</div>
<div class="col-lg-4 d-flex">
<div class="flex-1"></div><!-- push right -->
<div class="form-inline">
- <button class="btn btn-outline-dark ml-2" (click)="search(-1)" i18n>Previous</button>
- <label for='offset-input' class="form-control ml-2" i18n>Page</label>
+ <button class="btn btn-outline-dark ms-2" (click)="search(-1)" i18n>Previous</button>
+ <label for='offset-input' class="form-control ms-2" i18n>Page</label>
<input class="form-control" type="number"
[(ngModel)]="browse.searchOffset" id="offset-input" (change)="search()"/>
- <button class="btn btn-outline-dark ml-2" (click)="search(1)" i18n>Next</button>
+ <button class="btn btn-outline-dark ms-2" (click)="search(1)" i18n>Next</button>
</div>
</div>
</div>
<a routerLink="/staff/cat/authority/browse">
<button class="btn btn-outline-dark">
<span class="material-icons material-mat-icon-shrunk-in-button">arrow_back</span>
- <span class="pl-1" i18n>Return to Browse</span>
+ <span class="ps-1" i18n>Return to Browse</span>
</button>
</a>
</div>
<button class="btn btn-success" (click)="processItem()" i18n>
Mark Item as Missing Pieces?
</button>
- <button class="btn btn-warning ml-2" (click)="reset()">
+ <button class="btn btn-warning ms-2" (click)="reset()">
<ng-container *ngIf="!itemProcessed" i18n>Cancel</ng-container>
<ng-container *ngIf="itemProcessed" i18n>Reset Form</ng-container>
</button>
<ng-container *ngFor="let rule of templateRules; let idx = index">
<hr *ngIf="idx > 0"/>
<div class="row mb-2">
- <div class="col-lg-3 font-weight-bold" i18n>Rule Setup</div>
- <div class="col-lg-4 font-weight-bold" i18n>Data</div>
- <div class="col-lg-5 font-weight-bold" i18n>Help</div>
+ <div class="col-lg-3 fw-bold" i18n>Rule Setup</div>
+ <div class="col-lg-4 fw-bold" i18n>Data</div>
+ <div class="col-lg-5 fw-bold" i18n>Help</div>
</div>
<div class="row mb-2">
<div class="col-lg-3" i18n>Action (Rule Type)</div>
</div>
<div class="row mt-3 mb-2 pt-2 border-top">
<div class="col-lg-12 justify-content-center d-flex">
- <div class="font-weight-bold" i18n>
+ <div class="fw-bold" i18n>
Advanced Matching Restriction (Optional)
</div>
</div>
<button class="btn btn-outline-danger label-with-material-icon"
(click)="removeRule(idx)" i18n>
<span>Remove this Merge Rule</span>
- <span class="material-icons ml-2">delete</span>
+ <span class="material-icons ms-2">delete</span>
</button>
</div>
</div>
<button class="btn btn-outline-dark label-with-material-icon"
(click)="addRule()">
<span i18n>Add a New Merge Rule</span>
- <span class="material-icons ml-2">arrow_downward</span>
+ <span class="material-icons ms-2">arrow_downward</span>
</button>
</div>
</div>
<div class="col-lg-5">
<div class="row pb-2 pt-2 border">
<div class="col-lg-12">
- <div class="font-weight-bold" i18n>Merge Template Preview</div>
+ <div class="fw-bold" i18n>Merge Template Preview</div>
<div>
<textarea class="form-control" [ngModel]="breaker()"
disabled rows="{{breakerRows()}}"></textarea>
<div class="col-lg-3" i18n>Column: </div>
<div class="col-lg-3 d-flex">
<input min="0" type="number" class="form-control" [(ngModel)]="csvColumn"/>
- <span class="pl-2" i18n> of </span>
+ <span class="ps-2" i18n> of </span>
</div>
<div class="col-lg-6">
<input type="file" class="form-control"
</div>
<div class="row">
<div class="col-lg-10 offset-lg-1">
- <button class="btn btn-success btn-lg btn-block font-weight-bold"
+ <button class="btn btn-success btn-lg btn-block fw-bold"
[disabled]="isExporting || !hasNeededData()"
(click)="exportRecords()" i18n>Export</button>
</div>
</eg-alert-dialog>
<h2 i18n>MARC File Upload</h2>
-<div class="common-form striped-odd form-validated ml-3 mr-3">
+<div class="common-form striped-odd form-validated ms-3 me-3">
<div class="row">
<div class="col-lg-3">
<label for="template-select" i18n>Apply/Create Form Template</label>
<button class="btn btn-success"
[disabled]="!selectedTemplate"
(click)="saveTemplate()" i18n>Save As New Template</button>
- <button class="btn btn-outline-primary ml-3"
+ <button class="btn btn-outline-primary ms-3"
[disabled]="!selectedTemplate"
(click)="markTemplateDefault()" i18n>Mark Template as Default</button>
- <button class="btn btn-danger ml-3"
+ <button class="btn btn-danger ms-3"
[disabled]="!selectedTemplate"
(click)="deleteTemplate()" i18n>Delete Template</button>
</div>
Importing Queue {{importSelection().queue.name()}}</span>
</div>
<div class="col-lg-3">
- <button class="btn btn-outline-info ml-2" (click)="clearSelection()" i18n>
+ <button class="btn btn-outline-info ms-2" (click)="clearSelection()" i18n>
Clear Selection
</button>
</div>
</div>
<div class="row">
<div class="col-lg-6 offset-lg-3">
- <button class="btn btn-success btn-lg btn-block font-weight-bold"
+ <button class="btn btn-success btn-lg btn-block fw-bold"
[disabled]="isUploading || !hasNeededData()"
(click)="upload()" i18n>Upload</button>
</div>
</div>
<div class="row" [hidden]="!uploadComplete">
<div class="col-lg-6 offset-lg-3">
- <button class="btn btn-info btn-lg btn-block font-weight-bold"
+ <button class="btn btn-info btn-lg btn-block fw-bold"
routerLink="/staff/cat/vandelay/queue/{{recordType}}/{{activeQueueId}}"
i18n>Go To Queue</button>
</div>
<div class="row mt-2">
<div class="col-lg-7">
- <div class="row ml-2">
+ <div class="row ms-2">
<span class="text-white bg-dark p-2" i18n>
Your Expression: {{expressionAsString()}}
</span>
</div>
- <div class="row ml-2 mt-4">
- <span class="mr-2" i18n>Add New:</span>
- <button class="btn btn-outline-dark mr-2" *ngIf="matchSetType==='biblio'"
+ <div class="row ms-2 mt-4">
+ <span class="me-2" i18n>Add New:</span>
+ <button class="btn btn-outline-dark me-2" *ngIf="matchSetType==='biblio'"
(click)="newPointType='attr'" i18n>Record Attribute</button>
- <button class="btn btn-outline-dark mr-2"
+ <button class="btn btn-outline-dark me-2"
(click)="newPointType='marc'" i18n>MARC Tag and Subfield</button>
- <button class="btn btn-outline-dark mr-2" *ngIf="matchSetType==='authority'"
+ <button class="btn btn-outline-dark me-2" *ngIf="matchSetType==='authority'"
(click)="newPointType='heading'" i18n>Normalized Authority Heading</button>
- <button class="btn btn-outline-dark mr-2"
+ <button class="btn btn-outline-dark me-2"
(click)="newPointType='bool'" i18n>Boolean Operator</button>
</div>
<eg-match-set-new-point #newPoint [pointType]="newPointType">
</eg-match-set-new-point>
- <div class="row mt-2 ml-2" *ngIf="newPointType">
+ <div class="row mt-2 ms-2" *ngIf="newPointType">
<button class="btn btn-success" (click)="addChildNode()"
[disabled]="!selectedIsBool()" i18n>
Add To Selected Node
</button>
- <button class="btn btn-success ml-3" (click)="addChildNode(true)"
+ <button class="btn btn-success ms-3" (click)="addChildNode(true)"
[disabled]="!hasSelectedNode() ||
(newPointType !== 'bool' && selectedIsBool())" i18n>
Replace Selected Node
</button>
</div>
- <div class="row mt-2 ml-2 font-italic" *ngIf="newPointType">
+ <div class="row mt-2 ms-2 font-italic" *ngIf="newPointType">
<ol i18n>
<li>Define a new match point using the above fields.</li>
<li>Select a boolean node in the tree.</li>
<div class="col-lg-5">
<ng-container *ngIf="tree">
<div class="d-flex">
- <button class="btn btn-warning mr-1" (click)="deleteNode()"
+ <button class="btn btn-warning me-1" (click)="deleteNode()"
[disabled]="!hasSelectedNode() || isRootNode()" i18n>
Remove Selected Node
</button>
- <button class="btn btn-success mr-1" (click)="saveTree()"
+ <button class="btn btn-success me-1" (click)="saveTree()"
[disabled]="!changesMade" i18n>
Save Changes
</button>
-<div class="row ml-2 mt-4 p-2 border border-secondary" *ngIf="values.pointType">
+<div class="row ms-2 mt-4 p-2 border border-secondary" *ngIf="values.pointType">
<div class="col-lg-12 common-form striped-odd form-validated">
<ng-container *ngIf="values.pointType==='attr'">
<div class="row mb-1">
<div class="row mt-2">
<div class="col-lg-7">
- <div class="row ml-2 mt-4">
- <span class="mr-2" i18n>Add New:</span>
- <button class="btn btn-outline-dark mr-2" *ngIf="matchSetType==='biblio'"
+ <div class="row ms-2 mt-4">
+ <span class="me-2" i18n>Add New:</span>
+ <button class="btn btn-outline-dark me-2" *ngIf="matchSetType==='biblio'"
(click)="newPointType='attr'" i18n>Record Attribute</button>
- <button class="btn btn-outline-dark mr-2"
+ <button class="btn btn-outline-dark me-2"
(click)="newPointType='marc'" i18n>MARC Tag and Subfield</button>
</div>
<eg-match-set-new-point #newPoint
[pointType]="newPointType" [isForQuality]="true">
</eg-match-set-new-point>
- <div class="row mt-2 ml-2" *ngIf="newPointType">
- <button class="btn btn-success mr-2"
+ <div class="row mt-2 ms-2" *ngIf="newPointType">
+ <button class="btn btn-success me-2"
(click)="addQuality()" i18n>Add</button>
<button class="btn btn-warning"
(click)="newPointType=null" i18n>Cancel</button>
</ng-container>
<ng-template #matchesTmpl let-row="row">
- <a i18n [ngClass]="{'font-weight-bold': hasOverlayTarget(row.id)}"
+ <a i18n [ngClass]="{'fw-bold': hasOverlayTarget(row.id)}"
routerLink="/staff/cat/vandelay/queue/{{queueType}}/{{queueId}}/record/{{row.id}}/matches">
({{row.matches.length}})
{{hasOverlayTarget(row.id) ? '*' : ''}}
<div class="panel-title">
<span i18n>
{{tracker.create_time() | date:'short'}} :
- <span class="font-weight-bold">{{tracker.name()}}</span>
+ <span class="fw-bold">{{tracker.name()}}</span>
</span>
</div>
</div>
<div class="col-lg-6">
<!-- .id (not .id()) check to see if it's fleshed yet -->
<span i18n *ngIf="tracker.queue().id">
- <a class="font-weight-bold"
+ <a class="fw-bold"
routerLink="/staff/cat/vandelay/queue/{{tracker.record_type()}}/{{tracker.queue().id()}}">
Queue {{tracker.queue().name()}}
</a>
</span>
- <span class="pl-2" *ngIf="tracker.action_type() === 'enqueue'" i18n>Enqueuing... </span>
- <span class="pl-2" *ngIf="tracker.action_type() === 'import'" i18n>Importing... </span>
+ <span class="ps-2" *ngIf="tracker.action_type() === 'enqueue'" i18n>Enqueuing... </span>
+ <span class="ps-2" *ngIf="tracker.action_type() === 'import'" i18n>Importing... </span>
<span *ngIf="tracker.state() === 'active'" i18n>Active</span>
<span *ngIf="tracker.state() === 'complete'" i18n>Complete</span>
<span *ngIf="tracker.state() === 'error'" i18n>Error</span>
- <span class='pl-3' *ngIf="tracker.state() === 'complete'">
+ <span class='ps-3' *ngIf="tracker.state() === 'complete'">
<span class="material-icons text-success">thumb_up</span>
</span>
</div>
[initialOrgId]="volcopy.defaults.values.statcat_filter"
(onChange)="volcopy.defaults.values.statcat_filter = $event ? $event.id() : null">
</eg-org-select>
- <label class="ml-2" for="statcat_filter" i18n>
+ <label class="ms-2" for="statcat_filter" i18n>
Default Stat Cat Library Filter
</label>
</div>
<h3 i18n>Hide Item Attributes</h3>
<span class="font-italic" i18n>
- Selected Fields Will be <span class="font-weight-bold">Hidden</span>
+ Selected Fields Will be <span class="fw-bold">Hidden</span>
from the Item Attributes Form.
</span>
<!-- Copy Templates -->
<div class="row border rounded border-dark pt-2 pb-2 bg-faint">
- <div class="col-lg-1 font-weight-bold" i18n>Templates:</div>
+ <div class="col-lg-1 fw-bold" i18n>Templates:</div>
<div class="col-lg-4">
<eg-combobox #copyTemplateCbox domId="template-select"
[allowFreeText]="true" [entries]="volcopy.templateNames">
</eg-combobox>
</div>
<div class="col-lg-7 d-flex">
- <button class="btn btn-outline-dark mr-2" (click)="applyTemplate()" i18n>Apply</button>
- <button class="btn btn-outline-dark mr-2" (click)="saveTemplate()" i18n>Save</button>
+ <button class="btn btn-outline-dark me-2" (click)="applyTemplate()" i18n>Apply</button>
+ <button class="btn btn-outline-dark me-2" (click)="saveTemplate()" i18n>Save</button>
<!--
The typical approach of wrapping a file input in a <label> results
in button-ish things that have slightly different dimensions.
Instead have a button activate a hidden file input.
-->
- <button class="btn btn-outline-dark mr-2" (click)="templateFile.click()">
+ <button class="btn btn-outline-dark me-2" (click)="templateFile.click()">
<input type="file" class="d-none" #templateFile
(change)="importTemplate($event)" id="template-file-upload"/>
<span i18n>Import</span>
<a (click)="exportTemplate($event)"
download="export_copy_template.json" [href]="exportTemplateUrl()">
- <button class="btn btn-outline-dark mr-2" i18n>Export</button>
+ <button class="btn btn-outline-dark me-2" i18n>Export</button>
</a>
<div class="flex-1"> </div>
- <button class="btn btn-outline-danger mr-2"
+ <button class="btn btn-outline-danger me-2"
(click)="deleteTemplate()" i18n>Delete Template</button>
</div>
</div>
<!-- COLUMN 1 -->
<div class="flex-1 p-1">
- <div class="p-1"><h4 class="font-weight-bold" i18n>Identification</h4></div>
+ <div class="p-1"><h4 class="fw-bold" i18n>Identification</h4></div>
<div class="mb-1" *ngIf="displayAttr('status')">
<!-- COLUMN 2 -->
<div class="flex-1 p-1">
- <div class="p-1"><h4 class="font-weight-bold" i18n>Location</h4></div>
+ <div class="p-1"><h4 class="fw-bold" i18n>Location</h4></div>
<div *ngIf="displayAttr('location')">
<ng-template #locationTemplate>
<!-- COLUMN 3 -->
<div class="flex-1 p-1">
- <div class="p-1"><h4 class="font-weight-bold" i18n>Circulation</h4></div>
+ <div class="p-1"><h4 class="fw-bold" i18n>Circulation</h4></div>
<div *ngIf="displayAttr('circulate')">
<ng-template #circulateTemplate>
<!-- COLUMN 4 -->
<div class="flex-1 p-1">
- <div class="p-1"><h4 class="font-weight-bold" i18n>Miscellaneous</h4></div>
+ <div class="p-1"><h4 class="fw-bold" i18n>Miscellaneous</h4></div>
<!-- Adding this for sites that still use alert messages (we do)
<div>
<div class="border rounded m-1" *ngIf="displayAttr('copy_alerts')">
<eg-copy-alerts-dialog #copyAlertsDialog></eg-copy-alerts-dialog>
- <div class="batch-header font-weight-bold p-2" i18n>Add Item Alerts</div>
+ <div class="batch-header fw-bold p-2" i18n>Add Item Alerts</div>
<div class="p-1">
<button class="btn btn-outline-dark" (click)="openCopyAlerts()" i18n>
Item Alerts
<!-- COLUMN 5 -->
<div class="flex-1 p-1">
- <div class="p-1"><h4 class="font-weight-bold" i18n>Statistics</h4></div>
+ <div class="p-1"><h4 class="fw-bold" i18n>Statistics</h4></div>
<div class="border rounded m-1" *ngIf="displayAttr('copy_tags')">
<eg-copy-tags-dialog #copyTagsDialog></eg-copy-tags-dialog>
- <div class="batch-header font-weight-bold p-2" i18n>Add Item Tags</div>
+ <div class="batch-header fw-bold p-2" i18n>Add Item Tags</div>
<div class="p-1">
<button class="btn btn-outline-dark" (click)="openCopyTags()" i18n>
Item Tags
<div class="border rounded m-1" *ngIf="displayAttr('copy_notes')">
<eg-copy-notes-dialog #copyNotesDialog></eg-copy-notes-dialog>
- <div class="batch-header font-weight-bold p-2" i18n>Add Item Notes</div>
+ <div class="batch-header fw-bold p-2" i18n>Add Item Notes</div>
<div class="p-1">
<button class="btn btn-outline-dark" (click)="openCopyNotes()" i18n>
Item Notes
</div>
<div class="border rounded m-1" *ngIf="displayAttr('statcat_filter')">
- <div class="batch-header font-weight-bold p-2" i18n>Stat Cat Filter</div>
+ <div class="batch-header fw-bold p-2" i18n>Stat Cat Filter</div>
<div class="p-1">
<eg-org-select
domId="statcat_filter-select"
<div *ngIf="volcopy.defaults.visible.batch_actions"
class="row d-flex bg-faint mb-2 pb-1 pt-1 border border-dark rounded">
<div class="p-1" [ngStyle]="{flex: flexAt(1)}">
- <div><label class="font-weight-bold" i18n> </label></div>
+ <div><label class="fw-bold" i18n> </label></div>
<button class="btn btn-sm btn-outline-dark label-with-material-icon"
(click)="toggleBatchVisibility()">
<span i18n>Batch Actions</span>
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(3)}">
<ng-container *ngIf="displayColumn('classification')">
- <div><label class="font-weight-bold" i18n>Classification</label></div>
+ <div><label class="fw-bold" i18n>Classification</label></div>
<div>
<eg-combobox [smallFormControl]="true" [(ngModel)]="batchVolClass">
<eg-combobox-entry *ngFor="let cls of volcopy.commonData.acn_class"
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(4)}">
<ng-container *ngIf="displayColumn('prefix')">
- <div><label class="font-weight-bold" i18n>Prefix</label></div>
+ <div><label class="fw-bold" i18n>Prefix</label></div>
<div>
<eg-combobox [smallFormControl]="true" [(ngModel)]="batchVolPrefix">
<eg-combobox-entry *ngFor="let pfx of volcopy.commonData.acn_prefix"
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(5)}">
<div>
- <label class="font-weight-bold" i18n>
+ <label class="fw-bold" i18n>
Call Number Label
</label>
</div>
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(6)}">
<ng-container *ngIf="displayColumn('suffix')">
- <div><label class="font-weight-bold" i18n>Suffix</label></div>
+ <div><label class="fw-bold" i18n>Suffix</label></div>
<div>
<eg-combobox [smallFormControl]="true" [(ngModel)]="batchVolSuffix">
<eg-combobox-entry *ngFor="let sfx of volcopy.commonData.acn_suffix"
</ng-container>
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(7)}">
- <div><label class="font-weight-bold" i18n>Batch</label></div>
+ <div><label class="fw-bold" i18n>Batch</label></div>
<div>
<button class="btn btn-sm btn-outline-dark label-with-material-icon"
(click)="batchVolApply()">
<div class="row d-flex mt-2 mb-2">
<div class="p-1" [ngStyle]="{flex: flexAt(1)}">
- <span class="font-weight-bold" i18n>Owning Library
+ <span class="fw-bold" i18n>Owning Library
<ng-container *ngIf="expand !== 1">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 1">
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(3)}">
<ng-container *ngIf="displayColumn('classification')">
- <span class="font-weight-bold" i18n>Classification
+ <span class="fw-bold" i18n>Classification
<ng-container *ngIf="expand !== 3">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 3">
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(4)}">
<ng-container *ngIf="displayColumn('prefix')">
- <span class="font-weight-bold" i18n>Prefix
+ <span class="fw-bold" i18n>Prefix
<ng-container *ngIf="expand !== 4">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 4">
</ng-container>
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(5)}">
- <span class="font-weight-bold" i18n>Call Number Label
+ <span class="fw-bold" i18n>Call Number Label
<ng-container *ngIf="expand !== 5">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 5">
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(6)}">
<ng-container *ngIf="displayColumn('suffix')">
- <span class="font-weight-bold" i18n>Suffix
+ <span class="fw-bold" i18n>Suffix
<ng-container *ngIf="expand !== 6">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 6">
</ng-container>
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(7)}">
- <label class="font-weight-bold" i18n></label>
+ <label class="fw-bold" i18n></label>
</div>
<!--
When hiding the copy_number column, absorb its colum width to
line up with the batch updater row sitting above
-->
<div class="p-1" [ngStyle]="{flex: flexAt(8)}">
- <span class="font-weight-bold" i18n>Barcode
+ <span class="fw-bold" i18n>Barcode
<ng-container *ngIf="expand !== 8">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 8">
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(9)}">
<ng-container *ngIf="displayColumn('copy_number_vc')">
- <label class="font-weight-bold" i18n>Item #</label>
+ <label class="fw-bold" i18n>Item #</label>
</ng-container>
</div>
<div class="p-1" [ngStyle]="{flex: flexAt(10)}">
<ng-container *ngIf="displayColumn('copy_part')">
- <span class="font-weight-bold" i18n>Part
+ <span class="fw-bold" i18n>Part
<ng-container *ngIf="expand !== 10">
<button title="Expand Column" i18n-title
class="material-icon-button" (click)="expand = 10">
<div class="row d-flex mt-1" [ngClass]="{'vol-row': copyIdx === 0}">
<div class="p-1" [ngStyle]="{flex: flexAt(1)}">
<div class="d-flex">
- <div class="flex-1 pl-1">
+ <div class="flex-1 ps-1">
<ng-container *ngIf="copyIdx === 0 && volIdx === 0">
<span>{{orgNode.target.shortname()}}</span>
</ng-container>
</div>
<ng-container *ngIf="copyIdx === 0 && volIdx === 0 && (
context.sessionType === 'record' || context.sessionType === 'mixed')">
- <div class="pr-1">
+ <div class="pe-1">
<ng-template #addOrgTmpl>
<eg-org-select [limitPerms]="['CREATE_VOLUME']"
placeholder="Select Location..." i18n-placeholder
</div>
</ng-container>
<ng-container *ngIf="copyIdx === 0">
- <div class="pr-1">
+ <div class="pe-1">
<ng-template #editOrgTmpl>
<eg-org-select [limitPerms]="['CREATE_VOLUME']"
placeholder="Select Location..." i18n-placeholder
id='add-vol-popover'
(keyup.enter)="createVolsFromPopover(orgNode, addVolsPopover)"
[(ngModel)]="addVolCount" [required]="true" min="1"/>
- <button class="btn btn-sm btn-success ml-1"
+ <button class="btn btn-sm btn-success ms-1"
(click)="createVolsFromPopover(orgNode, addVolsPopover)"
i18n>Add</button>
</div>
id="add-copy-popover"
(keyup.enter)="createCopiesFromPopover(volNode, addCopiesPopover)"
[(ngModel)]="addCopyCount" [required]="true" min="1"/>
- <button class="btn btn-sm btn-success ml-1"
+ <button class="btn btn-sm btn-success ms-1"
(click)="createCopiesFromPopover(volNode, addCopiesPopover)"
i18n>Add</button>
</div>
<div class="row m-2 p-2 border border-dark rounded bg-faint">
<div class="col-lg-12 d-flex">
- <div class="form-check form-check-inline ml-2">
+ <div class="form-check form-check-inline ms-2">
<input class="form-check-input" id='use-labels-cbox' type="checkbox"
[ngModel]="volcopy.defaults.values.print_labels"
(change)="toggleCheckbox('print_labels')">
<button class="btn btn-outline-dark" (click)="save(false, true)"
[ngClass]="{'border-danger': isNotSaveable()}"
[disabled]="isNotSaveable()" i18n>Apply All & Save</button>
- <button class="btn btn-outline-dark ml-2" (click)="save(true, true)"
+ <button class="btn btn-outline-dark ms-2" (click)="save(true, true)"
[ngClass]="{'border-danger': isNotSaveable()}"
[disabled]="isNotSaveable()" i18n>Apply All, Save & Exit</button>
</div>
<eg-progress-dialog #addAllProgress></eg-progress-dialog>
<div class="d-flex justify-content-end">
- <div class="pr-1">
+ <div class="pe-1">
<div class="float-right">
<!-- note basket view link does not propagate search params -->
<a routerLink="/staff/catalog/search" [queryParams]="{showBasket: true}"
</a>
</div>
</div>
- <div class="pr-1">
+ <div class="pe-1">
<div ngbDropdown placement="bottom-right">
<button class="btn btn-light" id="basketActions"
ngbDropdownToggle i18n>Basket Actions</button>
<div class="row mb-2">
<div class="col-lg-3">
<button class="btn btn-primary" (click)="prevPage()">Back</button>
- <button class="btn btn-primary ml-3" (click)="nextPage()">Next</button>
+ <button class="btn btn-primary ms-3" (click)="nextPage()">Next</button>
</div>
</div>
<div class="row mb-2">
<div class="col-lg-3">
<button class="btn btn-primary" (click)="prevPage()">Back</button>
- <button class="btn btn-primary ml-3" (click)="nextPage()">Next</button>
+ <button class="btn btn-primary ms-3" (click)="nextPage()">Next</button>
</div>
</div>
<div class="flex-1"></div>
<div>
<button class="btn btn-primary" (click)="prevPage()">Back</button>
- <button class="btn btn-primary ml-3" (click)="nextPage()">Next</button>
+ <button class="btn btn-primary ms-3" (click)="nextPage()">Next</button>
</div>
</div>
<div class="col-lg-4 pt-2 d-flex border"
[ngClass]="{'border-primary': isCenter(rowIdx, colIdx)}">
<div class="flex-1">
- <div class="font-weight-bold">
+ <div class="fw-bold">
{{callNumber.prefix().label()}} {{callNumber.label()}}
{{callNumber.suffix().label()}}
@ {{orgName(callNumber.owning_lib())}}
</a>
</div>
</div>
- <div class="ml-2">
+ <div class="ms-2">
<img src="/opac/extras/ac/jacket/small/r/{{callNumber._bibSummary.id}}"/>
</div>
</div>
<div class="flex-1"></div>
<div>
<button class="btn btn-primary" (click)="prevPage()">Back</button>
- <button class="btn btn-primary ml-3" (click)="nextPage()">Next</button>
+ <button class="btn btn-primary ms-3" (click)="nextPage()">Next</button>
</div>
</div>
</div>
</label>
</div>
</div>
- <div class="col-lg-6 font-weight-bold">{{requestor.usrname()}}</div>
+ <div class="col-lg-6 fw-bold">{{requestor.usrname()}}</div>
</div>
<div class="row mt-2">
<div class="col-lg-6">
<li class="list-group-item">
<button class="btn btn-success" (click)="placeHolds()"
[disabled]="!readyToPlaceHolds()" i18n>Place Hold(s)</button>
- <button class="btn btn-outline-dark ml-2" (click)="resetForm()" i18n>Reset</button>
+ <button class="btn btn-outline-dark ms-2" (click)="resetForm()" i18n>Reset</button>
</li>
</ul><!-- col -->
</div><!-- row -->
<div class="row"><div class="col-lg-12"><hr/></div></div>
-<div class="row pt-3 ml-1 mr-1 d-flex">
+<div class="row pt-3 ms-1 me-1 d-flex">
<div class="">
- <span class="font-weight-bold" i18n>Placing
+ <span class="fw-bold" i18n>Placing
<ng-container *ngIf="holdType === 'M'">METARECORD</ng-container>
<ng-container *ngIf="holdType === 'T'">TITLE</ng-container>
<ng-container *ngIf="holdType === 'V'">CALL NUMBER</ng-container>
</div>
<div class="flex-1"> </div>
<div>
- <span class="pl-3" *ngIf="isItemHold()">
+ <span class="ps-3" *ngIf="isItemHold()">
<span i18n>Item-Level Hold Options:</span>
- <span class="pl-2">
+ <span class="ps-2">
<a routerLink="/staff/catalog/hold/C" queryParamsHandling="merge">
<button [disabled]="holdType === 'C'" class="btn btn-outline-primary"
i18n>Item Hold</button>
</a>
</span>
- <span class="pl-2">
+ <span class="ps-2">
<a routerLink="/staff/catalog/hold/R" queryParamsHandling="merge">
<button [disabled]="holdType === 'R'" class="btn btn-outline-primary"
i18n>Recall Hold</button>
</a>
</span>
- <span class="pl-2">
+ <span class="ps-2">
<a routerLink="/staff/catalog/hold/F" queryParamsHandling="merge">
<button [disabled]="holdType === 'F'" class="btn btn-outline-primary"
i18n>Force Item Hold</button>
<div class="hold-records-list common-form striped-even">
- <div class="row mt-2 ml-1 mr-1 font-weight-bold">
+ <div class="row mt-2 ms-1 me-1 fw-bold">
<div class="col-lg-1" i18n>Format</div>
<div class="col-lg-2" i18n>Title</div>
<div class="col-lg-1" i18n>Author</div>
<div class="col-lg-2" i18n>Holds Status</div>
<div class="col-lg-1" i18n>Override</div>
</div>
- <div class="row mt-1 ml-1 mr-1" *ngIf="showOverrideAll()">
+ <div class="row mt-1 ms-1 me-1" *ngIf="showOverrideAll()">
<div class="col-lg-12">
<div class="row">
<div class="col-lg-1 ms-auto">
</div>
</div>
</div>
- <div class="row mt-1 ml-1 mr-1" *ngFor="let ctx of holdContexts">
+ <div class="row mt-1 ms-1 me-1" *ngFor="let ctx of holdContexts">
<div class="col-lg-12" *ngIf="ctx.holdMeta">
<div class="row">
<div class="col-lg-1">
<ng-container
*ngFor="let code of ctx.holdMeta.bibSummary.attributes.icon_format">
- <img class="pr-1"
+ <img class="pe-1"
alt="{{iconFormatLabel(code)}}"
title="{{iconFormatLabel(code)}}"
src="/images/format_icons/icon_format/{{code}}.png"/>
</div>
<div class="col-lg-2">
<ng-container *ngIf="!ctx.lastRequest && !ctx.processing">
- <div class="alert alert-info p-1 ml-2" i18n>Hold Pending</div>
+ <div class="alert alert-info p-1 ms-2" i18n>Hold Pending</div>
</ng-container>
<ng-container *ngIf="ctx.processing">
- <div class="alert alert-primary p-1 ml-2" i18n>Hold Processing...</div>
+ <div class="alert alert-primary p-1 ms-2" i18n>Hold Processing...</div>
</ng-container>
<ng-container *ngIf="ctx.lastRequest">
<ng-container *ngIf="ctx.lastRequest.result.success">
- <div class="alert alert-success p-1 ml-2" i18n>Hold Succeeded</div>
+ <div class="alert alert-success p-1 ms-2" i18n>Hold Succeeded</div>
</ng-container>
<ng-container *ngIf="!ctx.lastRequest.result.success">
- <div class="alert alert-danger p-1 ml-2"
+ <div class="alert alert-danger p-1 ms-2"
title="{{ctx.lastRequest.result.evt.textcode}}">
{{ctx.lastRequest.result.evt.textcode}}
</div>
<div class="col-lg-11 d-flex">
<ng-container
*ngFor="let ccvm of ctx.holdMeta.metarecord_filters.formats">
- <div class="form-check ml-3">
+ <div class="form-check ms-3">
<input class="form-check-input" type="checkbox"
[disabled]="ctx.holdMeta.metarecord_filters.formats.length === 1"
[(ngModel)]="ctx.selectedFormats.formats[ccvm.code()]"/>
- <img class="ml-1"
+ <img class="ms-1"
alt="{{iconFormatLabel(ccvm.code())}}"
title="{{iconFormatLabel(ccvm.code())}}"
src="/images/format_icons/icon_format/{{ccvm.code()}}.png"/>
- <label class="form-check-label ml-1">
+ <label class="form-check-label ms-1">
{{ccvm.search_label() || ccvm.value()}}
</label>
</div>
<div class="col-lg-11 d-flex">
<ng-container
*ngFor="let ccvm of ctx.holdMeta.metarecord_filters.langs">
- <div class="form-check ml-3">
+ <div class="form-check ms-3">
<input class="form-check-input" type="checkbox"
[disabled]="ctx.holdMeta.metarecord_filters.langs.length === 1"
[(ngModel)]="ctx.selectedFormats.langs[ccvm.code()]"/>
- <label class="form-check-label ml-1">
+ <label class="form-check-label ms-1">
{{ccvm.search_label() || ccvm.value()}}
</label>
</div>
<div class="row border-bottom border-secondary p-2 m-2">
<div class="col-lg-2 offset-lg-1">
- <label for="default-lib-selector" class="font-weight-bold" i18n>
+ <label for="default-lib-selector" class="fw-bold" i18n>
Default Search Library
</label>
</div>
<div class="row border-bottom border-secondary p-2 m-2">
<div class="col-lg-2 offset-lg-1">
- <label for="pref-lib-selector" class="font-weight-bold" i18n>
+ <label for="pref-lib-selector" class="fw-bold" i18n>
Preferred Library
</label>
</div>
<div class="row border-bottom border-secondary p-2 m-2">
<div class="col-lg-2 offset-lg-1">
- <label for="def-pane-selector" class="font-weight-bold" i18n>
+ <label for="def-pane-selector" class="fw-bold" i18n>
Default Search Pane
</label>
</div>
<div class="row border-bottom border-secondary p-2 m-2">
<div class="col-lg-2 offset-lg-1">
- <label for="pref-lib-selector" class="font-weight-bold" i18n>
+ <label for="pref-lib-selector" class="fw-bold" i18n>
Search Results Per Page
</label>
</div>
<div class="row border-bottom border-secondary p-2 m-2">
<div class="col-lg-2 offset-lg-1">
- <label for="pref-lib-selector" class="font-weight-bold" i18n>
+ <label for="pref-lib-selector" class="fw-bold" i18n>
Exclude Electronic Resources
</label>
</div>
<div class="col-lg-2">
- <div class="checkbox pl-3 pt-2">
+ <div class="checkbox ps-3 pt-2">
<label>
<input type="checkbox"
(change)="checkboxChanged('eg.staffcat.exclude_electronic')"
[(ngModel)]="settings['eg.staffcat.exclude_electronic']">
- <span class="pl-1" i18n></span>
+ <span class="ps-1" i18n></span>
</label>
</div>
</div>
<eg-upload-jacket-image-dialog #jacketImageDialog [recordId]="recId">
</eg-upload-jacket-image-dialog>
-<div class="row ml-0 mr-0">
+<div class="row ms-0 me-0">
<a target="_blank" href="/eg/opac/record/{{recId}}">
- <button class="btn btn-outline-primary ml-1" i18n>Patron View</button>
+ <button class="btn btn-outline-primary ms-1" i18n>Patron View</button>
</a>
<a routerLink="/staff/catalog/hold/T" [queryParams]="{target: recId}"
*ngIf="isHoldable">
- <button class="btn btn-outline-primary ml-1" i18n>Place Hold</button>
+ <button class="btn btn-outline-primary ms-1" i18n>Place Hold</button>
</a>
- <button class="btn btn-outline-secondary ml-1" *ngIf="!isHoldable" disabled i18n>
+ <button class="btn btn-outline-secondary ms-1" *ngIf="!isHoldable" disabled i18n>
Place Hold
</button>
- <button class="btn btn-outline-primary ml-1" (click)="addHoldings()" i18n>
+ <button class="btn btn-outline-primary ms-1" (click)="addHoldings()" i18n>
Add Holdings
</button>
- <div ngbDropdown placement="bottom-right" class="ml-1">
+ <div ngbDropdown placement="bottom-right" class="ms-1">
<button class="btn btn-outline-primary" id="actionsForSerials"
ngbDropdownToggle i18n>Serials</button>
<div ngbDropdownMenu aria-labelledby="actionsForSerials">
</div>
</div>
- <div ngbDropdown placement="bottom-right" class="ml-1">
+ <div ngbDropdown placement="bottom-right" class="ms-1">
<button class="btn btn-outline-primary" id="actionsForDd"
ngbDropdownToggle i18n>Mark For...</button>
<div ngbDropdownMenu aria-labelledby="actionsForDd">
</div>
</div>
- <div ngbDropdown placement="bottom-right" class="ml-1">
+ <div ngbDropdown placement="bottom-right" class="ms-1">
<button class="btn btn-outline-primary" id="otherActionsForDd"
ngbDropdownToggle i18n>Other Actions</button>
<div ngbDropdownMenu aria-labelledby="otherActionsForDd">
<p> <a routerLink="/staff/admin/local/container/carousel" i18n>Would you like to add one?</a></p>
</div>
<div class="row" *ngIf="carousels.length">
- <div class="col-lg-3 font-weight-bold" i18n>Carousel</div>
+ <div class="col-lg-3 fw-bold" i18n>Carousel</div>
<div class="col-lg-5">
<eg-combobox [entries]="formatCarouselEntries()" [formControl]="selectedCarousel">
</eg-combobox>
<ng-template #barcodeTemplate let-copy="row" let-context="userContext">
<div>{{copy.barcode}}</div>
<div>
- <a class="pl-1" target="_blank"
+ <a class="ps-1" target="_blank"
href="/eg/staff/cat/item/{{copy.id}}" i18n>View</a>
<ng-container *ngIf="context.editable(copy)">
- | <a class="pl-1" target="_blank"
+ | <a class="ps-1" target="_blank"
routerLink="/staff/cat/volcopy/attrs/item/{{copy.id}}" i18n>Edit</a>
</ng-container>
</div>
<!-- Location / Barcode cell template -->
<ng-template #locationTemplate let-row="row" let-userContext="userContext">
- <!-- pl-* is doubled for added impact -->
- <div class="pl-{{row.locationDepth}}">
- <span class="pl-{{row.locationDepth}}">
+ <!-- ps-* is doubled for added impact -->
+ <div class="ps-{{row.locationDepth}}">
+ <span class="ps-{{row.locationDepth}}">
<a class="label-with-material-icon" (click)="userContext.toggleExpandRow(row)">
<!-- leave the icons in place for all node types, but make them
invisible when they are not needed. -->
<eg-bib-summary [bibSummary]="summaryForDisplay()">
</eg-bib-summary>
</div>
- <div class="row ml-0 mr-0">
+ <div class="row ms-0 me-0">
<div id='staff-catalog-bib-navigation'>
<eg-catalog-record-pagination [recordId]="recordId" [recordTab]="recordTab">
</eg-catalog-record-pagination>
<div class="col-lg-4">
<div *ngIf="prevEntry" class="d-flex">
<div class="">
- <button class="btn btn-sm btn-outline-dark mr-2"
+ <button class="btn btn-sm btn-outline-dark me-2"
(click)="goToBrowsePage(true)" i18n>Previous Heading</button>
</div>
<div class="flex-1 pt-1">
<span i18n *ngSwitchCase="'subject'">Subject: </span>
<span i18n *ngSwitchCase="'series'">Series: </span>
</ng-container>
- <span class="font-weight-bold">
+ <span class="fw-bold">
{{searchContext.termSearch.browseEntry.value()}}
</span>
</div>
<span>{{nextEntry.value}}</span>
</div>
<div class="">
- <button class="btn btn-sm btn-outline-dark ml-2"
+ <button class="btn btn-sm btn-outline-dark ms-2"
(click)="goToBrowsePage(false)" i18n>Next Heading</button>
</div>
</div>
don't waste a lot of space. -->
<div class="col-lg-7 d-flex">
<label class="checkbox">
- <span class="font-weight-bold font-italic">
+ <span class="fw-bold font-italic">
{{index + 1 + searchContext.pager.offset}}.
</span>
- <input class="pl-1" type='checkbox' [(ngModel)]="isRecordSelected"
+ <input class="ps-1" type='checkbox' [(ngModel)]="isRecordSelected"
(change)="toggleBasketEntry()"/>
</label>
- <div class="pl-2 record-jacket-div" >
+ <div class="ps-2 record-jacket-div" >
<ng-container *ngIf="hasMrConstituentRecords(summary)">
<a routerLink="/staff/catalog/search"
[queryParams]="appendFromMrParam(summary)">
</div>
<!-- for call number browse display -->
<ng-container *ngIf="callNumber">
- <div class="pl-2 font-weight-bold">
+ <div class="ps-2 fw-bold">
{{callNumber.prefix().label()}}
{{callNumber.label()}}
{{callNumber.suffix().label()}}
@ {{orgName(callNumber.owning_lib())}}
</div>
</ng-container>
- <div class="flex-1 pl-2">
+ <div class="flex-1 ps-2">
<div class="row">
- <div class="col-lg-12 font-weight-bold">
+ <div class="col-lg-12 fw-bold">
<ng-container *ngIf="hasMrConstituentRecords(summary)">
<a routerLink="/staff/catalog/search"
[queryParams]="appendFromMrParam(summary)">
<div class="col-lg-12">
<ng-container *ngIf="summary.attributes.icon_format && summary.attributes.icon_format[0]">
<ng-container *ngFor="let icon of summary.attributes.icon_format">
- <span class="pr-1">
- <img class="pr-1"
+ <span class="pe-1">
+ <img class="pe-1"
src="/images/format_icons/icon_format/{{icon}}.png"/>
<span>{{iconFormatLabel(icon)}}</span>
</span>
'bg-info' : copyCount.count === 0
}">
<div class="float-left text-left w-50">
- <span class="pr-1">
+ <span class="pe-1">
{{copyCount.available}} / {{copyCount.count}} items
</span>
</div>
</div><!-- row -->
<div class="row" *ngIf="searchContext.showResultExtras && summary.eResourceUrls.length">
<div class="col-lg-12 mt-2">
- <div class="w-auto ml-2 mr-2">
+ <div class="w-auto ms-2 me-2">
<div class="row p-1 mt-1 mb-1 border-top" *ngFor="let url of summary.eResourceUrls">
<div class="col-lg-2">
- <span class="font-weight-bold">
+ <span class="fw-bold">
<ng-container [ngSwitch]="url.ind2">
<ng-container *ngSwitchCase="'0'" i18n>Electronic Resource:</ng-container>
<ng-container *ngSwitchCase="'1'" i18n>Version of Resource:</ng-container>
</div><!-- row -->
<div class="row" *ngIf="searchContext.showResultExtras && summary.copies">
<div class="col-lg-12 mt-2">
- <div class="w-auto ml-2 mr-2">
+ <div class="w-auto ms-2 me-2">
<ng-container *ngIf="summary.copies.length">
- <div class="row p-1 font-weight-bold border-top">
+ <div class="row p-1 fw-bold border-top">
<div class="col-lg-2" i18n>Library</div>
<div class="col-lg-3" i18n>Shelving location</div>
<div class="col-lg-3" i18n>Call number</div>
<label class="checkbox" *ngIf="!searchContext.basket">
<input type='checkbox' [(ngModel)]="allRecsSelected"
(change)="toggleAllRecsSelected()"/>
- <span class="pl-1" i18n>Select {{searchContext.pager.rowNumber(0)}} -
+ <span class="ps-1" i18n>Select {{searchContext.pager.rowNumber(0)}} -
{{searchContext.pager.rowNumber(searchContext.currentResultIds().length - 1)}}
</span>
</label>
- <button class="btn btn-outline-dark ml-2" (click)="toggleShowMore()">
+ <button class="btn btn-outline-dark ms-2" (click)="toggleShowMore()">
<ng-container *ngIf="showMoreDetails" i18n>Show Fewer Details</ng-container>
<ng-container *ngIf="!showMoreDetails" i18n>Show More Details</ng-container>
</button>
<ng-container *ngIf="context.result.global_summary as gs">
<ng-container *ngIf="gs.suggestions as sugg">
<div *ngIf="sugg.one_class_one_term as ocot" class="col-lg-12 d-flex align-content-center">
- <span class="font-weight-bold font-italic me-1" i18n>Did you mean:</span>
+ <span class="fw-bold font-italic me-1" i18n>Did you mean:</span>
<span *ngFor="let s of ocot.suggestions; first as isFirst">
<span *ngIf="!isFirst" i18n> or </span>
<a routerLink="/staff/catalog/search" queryParamsHandling="merge"
<button *ngFor="let tmpl of sortTemplates()"
class="dropdown-item"
(click)="templateSelected(tmpl)"
- [ngClass]="{'font-weight-bold': tmpl.name === selectedTemplate()}"
+ [ngClass]="{'fw-bold': tmpl.name === selectedTemplate()}"
[routerLink]="getSearchPath(tmpl)"
[queryParams]="tmpl.params">{{tmpl.name}}</button>
</div>
-.badge {
+.rounded-pill {
font-size: 110%;
}
<div class="alert alert-danger p-1 text-dark">
<span *ngIf="backdate"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">history</span>
- <span class="pl-2" i18n>Backdated Check In {{backdate | date:'shortDate'}}</span>
+ <span class="ps-2" i18n>Backdated Check In {{backdate | date:'shortDate'}}</span>
</span>
<span *ngIf="backdate && backdateUntilLogout"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">timeline</span>
- <span class="pl-2" i18n>Use Effective Date Until Logout</span>
+ <span class="ps-2" i18n>Use Effective Date Until Logout</span>
</span>
<span *ngIf="modifiers.no_precat_alert"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">edit</span>
- <span class="pl-2" i18n>Ignore Pre-Cataloged Items</span>
+ <span class="ps-2" i18n>Ignore Pre-Cataloged Items</span>
</span>
<span *ngIf="modifiers.noop"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">block</span>
- <span class="pl-2" i18n>Suppress Holds and Transits</span>
+ <span class="ps-2" i18n>Suppress Holds and Transits</span>
</span>
<span *ngIf="modifiers.void_overdues"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">monetization_on</span>
- <span class="pl-2" i18n>Amnesty Mode</span>
+ <span class="ps-2" i18n>Amnesty Mode</span>
</span>
<span *ngIf="modifiers.auto_print_holds_transits"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">print</span>
- <span class="pl-2" i18n>Auto-Print Hold and Transit Slips</span>
+ <span class="ps-2" i18n>Auto-Print Hold and Transit Slips</span>
</span>
- <span class="mr-3 pr-3 border-right border-info"
+ <span class="me-3 pe-3 border-right border-info"
*ngIf="modifiers.clear_expired" i18n>Clear Holds Shelf</span>
<ng-container *ngIf="modifiers.retarget_holds">
- <span class="mr-3 pr-3 border-right border-info"
+ <span class="me-3 pe-3 border-right border-info"
*ngIf="modifiers.retarget_holds_all" i18n>Always Retarget Local Holds</span>
- <span class="mr-3 pr-3 border-right border-info"
+ <span class="me-3 pe-3 border-right border-info"
*ngIf="!modifiers.retarget_holds_all" i18n>Retarget Local Holds</span>
</ng-container>
<span *ngIf="modifiers.hold_as_transit"
- class="mr-3 pr-3 border-right border-info label-with-material-icon">
+ class="me-3 pe-3 border-right border-info label-with-material-icon">
<span class="material-icons">directions_transit</span>
- <span class="pl-2" i18n>Capture Local Holds As Transits</span>
+ <span class="ps-2" i18n>Capture Local Holds As Transits</span>
</span>
- <span class="mr-3 pr-3 border-right border-info"
+ <span class="me-3 pe-3 border-right border-info"
*ngIf="modifiers.manual_float" i18n>Manual Floating Active</span>
- <span class="mr-3 pr-3 border-right border-info"
+ <span class="me-3 pe-3 border-right border-info"
*ngIf="modifiers.do_inventory_update" i18n>Update Inventory</span>
</div>
</div>
</div>
</div>
<div class="flex-1"></div>
- <div class="mr-2">
+ <div class="me-2">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox"
id="use-date-cbox" [(ngModel)]="backdateUntilLogout"/>
for="use-date-cbox" i18n>Use effective date until logout</label>
</div>
</div>
- <div class="mr-2" i18n>Effective Date:</div>
+ <div class="me-2" i18n>Effective Date:</div>
<eg-date-select [initialIso]="backdate" [(ngModel)]="backdateDate"
(onChangeAsIso)="backdate = $event"></eg-date-select>
- <button class="btn btn-sm btn-outline-dark ml-1"
+ <button class="btn btn-sm btn-outline-dark ms-1"
(click)="backdateDate=null; backdate=null" i18n>Clear</button>
</div>
</div>
<div *ngIf="fineTally > 0">
- <span class="mr-2" i18n>Fine Tally: </span>
- <span class="badge badge-danger">{{fineTally | currency}}</span>
+ <span class="me-2" i18n>Fine Tally: </span>
+ <span class="rounded-pill bg-danger">{{fineTally | currency}}</span>
</div>
<!-- doc_id below because checkin returns an MVR -->
<div class="row mt-3 pt-3">
<div class="col-lg-12 d-flex">
<div class="flex-1"></div>
- <div class="mr-3">
+ <div class="me-3">
<button class="btn btn-outline-dark"
(click)="printReceipt()" i18n>Print Receipt</button>
</div>
- <div class="mr-3">
+ <div class="me-3">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox"
id="trim-list-cbox" [(ngModel)]="trimList"/>
for="trim-list-cbox" i18n>Trim List (20)</label>
</div>
</div>
- <div class="mr-3">
+ <div class="me-3">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox"
(ngModelChange)="toggleStrictBarcode($event)"
<div ngbDropdownMenu>
<a ngbDropdownItem (click)="toggleMod('no_precat_alert')">
<span *ngIf="modifiers.no_precat_alert"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.no_precat_alert"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Ignore Pre-cataloged Items</span>
</a>
<a ngbDropdownItem (click)="toggleMod('noop')">
<span *ngIf="modifiers.noop"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.noop"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Suppress Holds and Transits</span>
</a>
<a ngbDropdownItem (click)="toggleMod('void_overdues')">
<span *ngIf="modifiers.void_overdues"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.void_overdues"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Amnesty Mode</span>
</a>
<a ngbDropdownItem (click)="toggleMod('auto_print_holds_transits')">
<span *ngIf="modifiers.auto_print_holds_transits"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.auto_print_holds_transits"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span>Auto-Print Hold and Transit Slips</span>
</a>
<a ngbDropdownItem (click)="toggleMod('clear_expired')">
<span *ngIf="modifiers.clear_expired"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.clear_expired"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Clear Holds Shelf</span>
</a>
<a ngbDropdownItem (click)="toggleMod('retarget_holds')">
<span *ngIf="modifiers.retarget_holds"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.retarget_holds"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Retarget Local Holds</span>
</a>
<a ngbDropdownItem (click)="toggleMod('retarget_holds_all')">
<span *ngIf="modifiers.retarget_holds_all"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.retarget_holds_all"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Retarget All Statuses</span>
</a>
<a ngbDropdownItem (click)="toggleMod('hold_as_transit')">
<span *ngIf="modifiers.hold_as_transit"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.hold_as_transit"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Capture Local Holds As Transits</span>
</a>
<a ngbDropdownItem (click)="toggleMod('manual_float')">
<span *ngIf="modifiers.manual_float"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.manual_float"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Manual Floating Active</span>
</a>
<a ngbDropdownItem (click)="toggleMod('do_inventory_update')">
<span *ngIf="modifiers.do_inventory_update"
- class="badge badge-success mr-2">✓</span>
+ class="rounded-pill bg-success me-2">✓</span>
<span *ngIf="!modifiers.do_inventory_update"
- class="badge badge-warning mr-2">✗</span>
+ class="rounded-pill bg-warning me-2">✗</span>
<span i18n>Update Inventory</span>
</a>
</div>
</div>
<div class="modal-body">
<div class="row">
- <div class="col-lg-4 font-weight-bold" i18n>Barcode</div>
- <div class="col-lg-4 font-weight-bold" i18n>Active</div>
- <div class="col-lg-4 font-weight-bold" i18n>Primary</div>
+ <div class="col-lg-4 fw-bold" i18n>Barcode</div>
+ <div class="col-lg-4 fw-bold" i18n>Active</div>
+ <div class="col-lg-4 fw-bold" i18n>Primary</div>
</div>
<div class="row mt-2 pt-2" *ngFor="let card of patron.cards()">
<div class="col-lg-4" i18n>
<div class="col-lg-4" i18n>
<input type="checkbox" [disabled]="!myPerms.UPDATE_PATRON_ACTIVE_CARD"
(ngModelChange)="activeChange(card, $event)"
- class="form-check-input ml-0" [ngModel]="card.active() === 't'">
+ class="form-check-input ms-0" [ngModel]="card.active() === 't'">
</div>
<div class="col-lg-4" i18n>
<input type="radio" name="primary-card" [value]="card.id()"
[disabled]="!myPerms.UPDATE_PATRON_PRIMARY_CARD"
- class="form-check-input ml-0" [(ngModel)]="primaryCard">
+ class="form-check-input ms-0" [(ngModel)]="primaryCard">
</div>
</div>
</div>
<span *ngSwitchCase="'void'" i18n>Void</span>
</div>
<div class="col-lg-4">
- <div *ngIf="line.billing_type" class="font-weight-bold">
+ <div *ngIf="line.billing_type" class="fw-bold">
{{line.billing_type}}
</div>
- <div [ngClass]="{'font-weight-bold' : !line.billing_type}"
+ <div [ngClass]="{'fw-bold' : !line.billing_type}"
*ngIf="line.note.length">{{line.note.join(', ')}}</div>
<div>
<span>{{line.start_date | date:'short'}}</span>
<hr class="m-2 p-2"/>
- <div class="row font-weight-bold">
+ <div class="row fw-bold">
<div class="col-lg-2 offset-lg-8" i18n>Balance Due</div>
<div class="col-lg-2">{{statement.summary.balance_due | currency}}</div>
</div>
</div>
</div>
<div class="col-lg-4 form-inline">
- <span class="mr-2" i18n>Start Date:</span>
+ <span class="me-2" i18n>Start Date:</span>
<eg-date-select [initialIso]="xactsStart"
(onChangeAsIso)="dateChange('xactsStart', $event)"></eg-date-select>
</div>
<div class="col-lg-4 form-inline">
- <span class="mr-2" i18n>End Date:</span>
+ <span class="me-2" i18n>End Date:</span>
<eg-date-select [initialIso]="xactsEnd"
(onChangeAsIso)="dateChange('xactsEnd', $event)"></eg-date-select>
</div>
</div>
</div>
<div class="col-lg-4 form-inline">
- <span class="mr-2" i18n>Start Date:</span>
+ <span class="me-2" i18n>Start Date:</span>
<eg-date-select [initialIso]="paymentsStart"
(onChangeAsDate)="dateChange('paymentsStart', $event)"></eg-date-select>
</div>
<div class="col-lg-4 form-inline">
- <span class="mr-2" i18n>End Date:</span>
+ <span class="me-2" i18n>End Date:</span>
<eg-date-select [initialIso]="paymentsEnd"
(onChangeAsDate)="dateChange('paymentsEnd', $event)"></eg-date-select>
</div>
<ng-container *ngIf="summary">
<div class="row border-bottom border-secondary pb-2 pt-2 mb-4">
- <div class="col-lg-3 pr-0 mr-0 border-right">
+ <div class="col-lg-3 pe-0 me-0 border-right">
<div class="d-flex pt-1 pb-1 striped">
<div class="flex-4" i18n>Total Owed:</div>
<div class="flex-1"
- [ngClass]="{'font-weight-bold' : summary.balance_owed() > 0}">
+ [ngClass]="{'fw-bold' : summary.balance_owed() > 0}">
{{summary.balance_owed() || 0 | currency}}</div>
</div>
<div class="d-flex pt-1 pb-1">
</div>
</div>
- <div class="col-lg-3 pr-0 mr-0 border-right">
+ <div class="col-lg-3 pe-0 me-0 border-right">
<div class="d-flex pt-1 pb-1 striped">
<div class="flex-4" i18n>Owed for Selected:</div>
<div class="flex-1">{{owedSelected() | currency}}</div>
</div>
</div>
- <div class="col-lg-3 pr-0 mr-0 border-right">
+ <div class="col-lg-3 pe-0 me-0 border-right">
<div class="d-flex pt-1 pb-1 striped">
<div class="flex-4" i18n>Refunds Available:</div>
<div class="flex-1">{{refundsAvailable() | currency}}</div>
</div>
</div>
- <div class="col-lg-3 pr-0 mr-0">
+ <div class="col-lg-3 pe-0 me-0">
<div class="d-flex pt-1 pb-1 striped">
<div class="flex-4"> </div>
<div class="flex-1"> </div>
</div>
<div class="d-flex pt-1 pb-1">
<div class="flex-4" i18n>Pending Payment:</div>
- <div class="flex-1 font-weight-bold">{{pendingPayment() | currency}}</div>
+ <div class="flex-1 fw-bold">{{pendingPayment() | currency}}</div>
</div>
<div class="d-flex pt-1 pb-1 striped">
<div class="flex-4" i18n>Pending Change:</div>
- <div class="flex-1 font-weight-bold">{{pendingChange() | currency}}</div>
+ <div class="flex-1 fw-bold">{{pendingChange() | currency}}</div>
</div>
</div>
</div>
<div class="row bg-light border border-dark rounded pt-2 pb-2 mt-2 mb-4 payment-form">
<div class="col-lg-12 d-flex form-inline form-validated">
<div class="flex-1"></div>
- <div class="ml-2"><label for="payment-type" i18n>Payment Type:</label></div>
- <div class="ml-1">
+ <div class="ms-2"><label for="payment-type" i18n>Payment Type:</label></div>
+ <div class="ms-1">
<select [(ngModel)]="paymentType" class="form-control" id="payment-type">
<option value="cash_payment" i18n>Cash</option>
<option value="check_payment" i18n>Check</option>
<option value="goods_payment" i18n>Goods</option>
</select>
</div>
- <div class="ml-2"><label for="check-number" i18n>Check Number:</label></div>
- <div class="ml-1">
+ <div class="ms-2"><label for="check-number" i18n>Check Number:</label></div>
+ <div class="ms-1">
<input type="text" class="form-control" [(ngModel)]="checkNumber"
id="check-number" [disabled]="paymentType !== 'check_payment'"/>
</div>
- <div class="ml-2"><label for="pay-amount" i18n>Payment Received:</label></div>
- <div class="ml-1">
+ <div class="ms-2"><label for="pay-amount" i18n>Payment Received:</label></div>
+ <div class="ms-1">
<input type="number" class="form-control" [(ngModel)]="paymentAmount"
(ngModelChange)="updatePendingColumn()" id="pay-amount" [min]="0"/>
</div>
- <div class="ml-2 form-check form-check-inline">
+ <div class="ms-2 form-check form-check-inline">
<input class="form-check-input" type="checkbox"
(ngModelChange)="applySetting('eg.circ.bills.annotatepayment', $event)"
id="annotate" [(ngModel)]="annotatePayment"/>
<label class="form-check-label" for="annotate" i18n>Annotate</label>
</div>
- <div class="ml-2">
+ <div class="ms-2">
<button class="btn btn-outline-dark" (click)="applyPayment()"
[disabled]="disablePayment()" i18n>Apply Payment</button>
</div>
</div>
</div>
<div class="d-flex flex-colum justify-content-end">
- <div class="form-check form-check-inline ml-2">
+ <div class="form-check form-check-inline ms-2">
<input class="form-check-input" type="checkbox" id="receipt-on-payment-cbox"
(ngModelChange)="applySetting('circ.bills.receiptonpay', $event)"
[(ngModel)]="receiptOnPayment"/>
</label>
</div>
</div>
- <div class="form-inline ml-2">
+ <div class="form-inline ms-2">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text" i18n># Receipts</span>
</div>
<div class="flex-1"></div>
<div ngbDropdown>
- <button ngbDropdownToggle class="btn mr-2" [ngClass]="{
+ <button ngbDropdownToggle class="btn me-2" [ngClass]="{
'btn-outline-dark': dueDateOptions === 0,
'btn-outline-success': dueDateOptions > 0
}"
<div ngbDropdownMenu>
<button ngbDropdownItem (click)="toggleDateOptions(1)">
<span *ngIf="dueDateOptions > 0"
- class="badge badge-success">✓</span>
+ class="rounded-pill bg-success">✓</span>
<span *ngIf="dueDateOptions === 0"
- class="badge badge-warning">✗</span>
- <span class="pl-2" i18n>Specific Due Date</span>
+ class="rounded-pill bg-warning">✗</span>
+ <span class="ps-2" i18n>Specific Due Date</span>
</button>
<button ngbDropdownItem (click)="toggleDateOptions(2)">
<span *ngIf="dueDateOptions === 2"
- class="badge badge-success">✓</span>
+ class="rounded-pill bg-success">✓</span>
<span *ngIf="dueDateOptions < 2"
- class="badge badge-warning">✗</span>
- <span class="pl-2" i18n>Specific Due Date Until Logout</span>
+ class="rounded-pill bg-warning">✗</span>
+ <span class="ps-2" i18n>Specific Due Date Until Logout</span>
</button>
</div>
</div>
<div class="row mt-3 pt-3">
<div class="col-lg-12 d-flex">
<div class="flex-1"></div>
- <div class="mr-3">
+ <div class="me-3">
<div class="form-check form-check-inline pt-1">
<input class="form-check-input" type="checkbox"
(ngModelChange)="toggleStrictBarcode($event)"
for="strict-barcode-cbox" i18n>Strict Barcode</label>
</div>
</div>
- <div class="mr-3">
+ <div class="me-3">
<div class="input-group">
- <span class="material-icons pt-2 pr-2">
+ <span class="material-icons pt-2 pe-2">
<ng-container *ngIf="!mayEmailReceipt()">print</ng-container>
<ng-container *ngIf="mayEmailReceipt()">email</ng-container>
</span>
</div>
</div>
</div>
- <div class="mr-3">
+ <div class="me-3">
<div class="input-group">
<button class="btn btn-outline-dark" (click)="doneAutoReceipt()" i18n>
Done
<div class="row pb-2 pt-2">
<div class="col-lg-6">
- <span class="font-weight-bold" i18n>Show:</span>
- <button class="btn btn-sm btn-outline-dark ml-2"
+ <span class="fw-bold" i18n>Show:</span>
+ <button class="btn btn-sm btn-outline-dark ms-2"
[disabled]="visibilityLevel === 2"
(click)="changeFields(2)" i18n>Required Fields</button>
- <button class="btn btn-sm btn-outline-dark ml-2"
+ <button class="btn btn-sm btn-outline-dark ms-2"
[disabled]="visibilityLevel === 1"
(click)="changeFields(1)" i18n>Suggested Fields</button>
- <button class="btn btn-sm btn-outline-dark ml-2"
+ <button class="btn btn-sm btn-outline-dark ms-2"
[disabled]="visibilityLevel === 0"
(click)="changeFields(0)" i18n>All Fields</button>
</div>
<div class="ms-auto">
<button class="btn btn-outline-dark"
(click)="printClicked.emit()" i18n>Print</button>
- <button class="btn btn-outline-dark ml-2" [disabled]="disableSave"
+ <button class="btn btn-outline-dark ms-2" [disabled]="disableSave"
[ngClass]="{'border border-danger pointer-not-allowed': disableSave}"
(click)="saveClicked.emit()" i18n>Save</button>
- <button class="btn btn-outline-dark ml-2" [disabled]="disableSave"
+ <button class="btn btn-outline-dark ms-2" [disabled]="disableSave"
[ngClass]="{'border border-danger pointer-not-allowed': disableSave}"
(click)="saveCloneClicked.emit()" i18n>Save & Clone</button>
</div>
<div class="row pb-1 pt-1" *ngIf="addressAlerts.length > 0">
<div class="col-lg-12 d-flex">
- <div class="ms-auto mr-2">
+ <div class="ms-auto me-2">
<div *ngFor="let alert of addressAlerts"
class="alert alert-danger ms-auto p-2 mt-2" i18n>
Address Alert: {{alert.alert_message()}}
<div class="row pb-1 pt-1" *ngIf="dupesFound().length > 0">
<div class="col-lg-12 d-flex">
- <div class="ms-auto mr-2">
+ <div class="ms-auto me-2">
<div *ngFor="let dupe of dupesFound()"
class="alert alert-danger ms-auto p-2 mt-2">
<a routerLink="/staff/circ/patron/search"
</div>
<ng-template #fieldExample let-args="args">
- <span class="ml-2" *ngIf="exampleText(args.cls, args.field)" i18n>
+ <span class="ms-2" *ngIf="exampleText(args.cls, args.field)" i18n>
Example: {{exampleText(args.cls, args.field)}}
</span>
</ng-template>
<div class="col-lg-3">
<input
type="checkbox"
- class="form-check-input ml-0"
+ class="form-check-input ms-0"
name="{{getClass(args.cls)}}-{{args.field}}-input"
id="{{getClass(args.cls)}}-{{args.field}}-input"
[ngModel]="objectFromPath(args.path, args.index)[args.field]() === 't'"
<div class="col-lg-3">
<input
type="checkbox"
- class="form-check-input ml-0"
+ class="form-check-input ms-0"
name="cust-{{args.settingName}}-input"
id="cust-{{args.settingName}}-input"
[ngModel]="userSettings[args.settingName]"
(click)="replaceBarcode()" i18n>
Replace Barcode
</button>
- <button class="btn btn-outline-dark ml-2" (click)="barcodesDialog.open()" i18n>
+ <button class="btn btn-outline-dark ms-2" (click)="barcodesDialog.open()" i18n>
See All
</button>
</ng-container>
- <span *ngIf="dupeBarcode" class="text-danger font-weight-bold ml-2" i18n>
+ <span *ngIf="dupeBarcode" class="text-danger fw-bold ms-2" i18n>
Barcode is already in use
</span>
</div>
<ng-container *ngTemplateOutlet="fieldInput; context: {args: {field: 'usrname'}}">
</ng-container>
<div class="col-lg-6">
- <span *ngIf="dupeUsername" class="text-danger font-weight-bold ml-2" i18n>
+ <span *ngIf="dupeUsername" class="text-danger fw-bold ms-2" i18n>
Username is already in use
</span>
</div>
Send Test Email
</button>
<ng-container *ngIf="!patron.isnew()">
- <button class="btn btn-outline-dark ml-2"
+ <button class="btn btn-outline-dark ms-2"
(click)="invalidateField('email')" i18n>Invalidate</button>
</ng-container>
</ng-container>
</ng-container>
<div class="alert alert-success pt-2 pb-2 mt-3 mb-3 d-flex">
- <div class="m-auto font-weight-bold" i18n>User Settings</div>
+ <div class="m-auto fw-bold" i18n>User Settings</div>
</div>
<ng-container *ngTemplateOutlet="userSettingInputRow; context:
context: {args: {settingName: 'opac.hold_notify'}}">
</ng-container>
<div class="col-lg-3">
- <div class="form-check form-check-inline mr-2">
+ <div class="form-check form-check-inline me-2">
<input class="form-check-input" type="checkbox" name="hold-notify-phone"
id="hold-notify-phone" [(ngModel)]="holdNotifyTypes.phone"
(ngModelChange)="emitSaveState()"/>
<label class="form-check-label" for="hold-notify-phone" i18n>Phone</label>
</div>
- <div class="form-check form-check-inline mr-2">
+ <div class="form-check form-check-inline me-2">
<input class="form-check-input" type="checkbox" name="hold-notify-email"
id="hold-notify-email" [(ngModel)]="holdNotifyTypes.email"
(ngModelChange)="emitSaveState()"/>
<label class="form-check-label" for="hold-notify-email" i18n>Email</label>
</div>
- <div class="form-check form-check-inline mr-2"
+ <div class="form-check form-check-inline me-2"
*ngIf="context.settingsCache['sms.enable']">
<input class="form-check-input" type="checkbox" name="hold-notify-sms"
id="hold-notify-sms" [(ngModel)]="holdNotifyTypes.sms"
for="waiver-history-{{waiver.id()}}" i18n>View Borrowing History?</label>
</div>
</div>
- <div class="ml-3">
+ <div class="ms-3">
<div class="form-inline">
<input class="form-check-input" type="checkbox"
[disabled]="waiver.isdeleted()"
for="waiver-checkout-{{waiver.id()}}" i18n>Check Out Items?</label>
</div>
</div>
- <div class="ml-3">
+ <div class="ms-3">
<button class="btn btn-danger material-icon-button"
[ngClass]="{'invisible': waiver.isdeleted()}"
(click)="removeWaiver(waiver)"
<span class="text-danger material-icons">delete</span>
</button>
</div>
- <div class="ml-2" *ngIf="index === patron.waiver_entries().length - 1">
+ <div class="ms-2" *ngIf="index === patron.waiver_entries().length - 1">
<button class="btn btn-success material-icon-button"
(click)="addWaiver()" i18n-title title="Add Privacy Waiver">
<span class="text-success material-icons">add</span>
</ng-container>
<div class="alert alert-success pt-2 pb-2 mt-3 mb-3 d-flex">
- <div class="m-auto font-weight-bold" i18n>Addresses</div>
+ <div class="m-auto fw-bold" i18n>Addresses</div>
</div>
<ng-container *ngFor="let addr of patron.addresses(); let index = index">
<div class="row">
<div class="col-lg-3" i18n>Address #{{index + 1}}</div>
<div class="col-lg-9">
- <div class="form-check form-check-inline mr-2">
+ <div class="form-check form-check-inline me-2">
<input class="form-check-input" type="checkbox"
name="addr-{{addr.id()}}-mailing" id="addr-{{addr.id()}}-mailing"
[ngModel]="patron.mailing_address() && addr.id() === patron.mailing_address().id()"
<label class="form-check-label"
for="addr-{{addr.id()}}-mailing" i18n>Mailing</label>
</div>
- <div class="form-check form-check-inline mr-2">
+ <div class="form-check form-check-inline me-2">
<input class="form-check-input" type="checkbox"
name="addr-{{addr.id()}}-billing" id="addr-{{addr.id()}}-billing"
[ngModel]="patron.billing_address() && addr.id() === patron.billing_address().id()"
<ng-container *ngIf="showField('stat_cats') && statCats.length > 0">
<div class="alert alert-success pt-2 pb-2 mt-3 mb-3 d-flex">
- <div class="m-auto font-weight-bold" i18n>Statistical Categories</div>
+ <div class="m-auto fw-bold" i18n>Statistical Categories</div>
</div>
<div class="row pt-1 pb-1 mt-1" *ngFor="let stat of statCats">
<ng-container *ngIf="showField('surveys') && surveys.length > 0">
<div class="alert alert-success pt-2 pb-2 mt-2 mb-2 d-flex">
- <div class="m-auto font-weight-bold" i18n>Surveys</div>
+ <div class="m-auto fw-bold" i18n>Surveys</div>
</div>
<div class="card pt-1 pb-1 mt-1" *ngFor="let survey of surveys">
<div class="card-header">{{survey.name()}}</div>
<div class="row">
<div class="col-lg-12">
<span i18n>Total Owed:</span>
- <span class="ml-1">{{totalOwed | currency}}</span>
- <span class="ml-2">Total Out:</span>
- <span class="ml-1">{{totalOut}}</span>
- <span class="ml-2">Total Overdue:</span>
- <span class="ml-1">{{totalOverdue}}</span>
+ <span class="ms-1">{{totalOwed | currency}}</span>
+ <span class="ms-2">Total Out:</span>
+ <span class="ms-1">{{totalOut}}</span>
+ <span class="ms-2">Total Overdue:</span>
+ <span class="ms-1">{{totalOverdue}}</span>
</div>
</div>
<div [ngSwitch]="mod.field" class="mt-2 mb-2">
<span *ngSwitchCase="'phone_notify'">
- <span class="mr-2">You have set Notify by Phone to</span>
+ <span class="me-2">You have set Notify by Phone to</span>
<eg-bool [value]="mod.newValue"></eg-bool>
</span>
<span *ngSwitchCase="'sms_notify'">
- <span class="mr-2">You have set Notify by SMS to</span>
+ <span class="me-2">You have set Notify by SMS to</span>
<eg-bool [value]="mod.newValue"></eg-bool>
</span>
<span *ngSwitchCase="'email_notify'">
- <span class="mr-2">You have set Notify by Email to</span>
+ <span class="me-2">You have set Notify by Email to</span>
<eg-bool [value]="mod.newValue"></eg-bool>
</span>
<span *ngSwitchCase="'default_phone'">
<div *ngIf="!loading">
<button type="button" class="btn btn-success" [disabled]="!anySelected()"
(click)="applyChanges()" i18n>Apply Changes</button>
- <button type="button" class="btn btn-warning ml-2"
+ <button type="button" class="btn btn-warning ms-2"
(click)="close()" i18n>Cancel</button>
</div>
</div>
<h3 i18n>Archived Penalties / Messages</h3>
</div>
<div class="col-lg-4 form-inline">
- <label class="mr-2" i18n>Start Date:</label>
+ <label class="me-2" i18n>Start Date:</label>
<eg-date-select [initialIso]="startDateYmd"
(onChangeAsIso)="dateChange($event, true)"></eg-date-select>
</div>
<div class="col-lg-4 form-inline">
- <label class="mr-2" i18n>End Date:</label>
+ <label class="me-2" i18n>End Date:</label>
<eg-date-select [initialIso]="endDateYmd"
(onChangeAsIso)="dateChange($event, false)"></eg-date-select>
</div>
<div class="striped-rows-odd mt-3">
<div class="row pt-1 pb-1">
- <div class="col-lg-5 font-weight-bold" i18n>Permission</div>
- <div class="col-lg-2 font-weight-bold" i18n>Applied</div>
- <div class="col-lg-2 font-weight-bold" i18n>Depth</div>
- <div class="col-lg-2 font-weight-bold" i18n>Grantable</div>
+ <div class="col-lg-5 fw-bold" i18n>Permission</div>
+ <div class="col-lg-2 fw-bold" i18n>Applied</div>
+ <div class="col-lg-2 fw-bold" i18n>Depth</div>
+ <div class="col-lg-2 fw-bold" i18n>Grantable</div>
</div>
<div class="row pt-1 pb-1" *ngFor="let perm of allPerms">
<div class="col-lg-5">{{perm.code()}}</div>
<div class="col-lg-2">
- <input class="form-check-input ml-0 pl-0" type="checkbox"
+ <input class="form-check-input ms-0 ps-0" type="checkbox"
[disabled]="!canGrantPerm(perm)"
[ngModel]="userHasPerm(perm)"
(ngModelChange)="permApplyChanged(perm, $event)"/>
</select>
</div>
<div class="col-lg-2">
- <input class="form-check-input ml-0 pl-0" type="checkbox"
+ <input class="form-check-input ms-0 ps-0" type="checkbox"
[disabled]="!canGrantPerm(perm)"
[ngModel]="userPermIsGrantable(perm)"
(ngModelChange)="grantableChanged(perm, $event)"/>
</h5>
<div class="row mt-2">
- <div class="col-lg-6 font-weight-bold" i18n>Group</div>
- <div class="col-lg-6 font-weight-bold" i18n>Action</div>
+ <div class="col-lg-6 fw-bold" i18n>Group</div>
+ <div class="col-lg-6 fw-bold" i18n>Action</div>
</div>
<div class="row mt-2" *ngFor="let grp of secondaryGroups">
-<div class="mt-2 alert well-like d-flex ml-3 mr-3" *ngFor="let map of catMaps">
- <div class="font-weight-bold p-1">{{map.stat_cat().name()}}</div>
- <div class="flex-1 ml-2 p-1">{{map.stat_cat_entry()}}</div>
- <div class="ml-2 p-1">
+<div class="mt-2 alert well-like d-flex ms-3 me-3" *ngFor="let map of catMaps">
+ <div class="fw-bold p-1">{{map.stat_cat().name()}}</div>
+ <div class="flex-1 ms-2 p-1">{{map.stat_cat_entry()}}</div>
+ <div class="ms-2 p-1">
<ng-container *ngIf="map.stat_cat().opac_visible() === 'f'">
- <div class="badge badge-primary p-1" i18n>Staff Only</div>
+ <div class="rounded-pill bg-primary p-1" i18n>Staff Only</div>
</ng-container>
<ng-container *ngIf="map.stat_cat().opac_visible() === 't'">
- <div class="badge badge-warning p-1" i18n>Patron Visible</div>
+ <div class="rounded-pill bg-warning p-1" i18n>Patron Visible</div>
</ng-container>
</div>
<div class="p-1" i18n> @ {{map.stat_cat().owner().shortname()}}</div>
<ul class="list-group list-group-flush">
<li class="list-group-item">
<div class="row">
- <div class="col-lg-4 font-weight-bold" i18n>Question</div>
- <div class="col-lg-4 font-weight-bold" i18n>Response</div>
- <div class="col-lg-4 font-weight-bold" i18n>Last Answered</div>
+ <div class="col-lg-4 fw-bold" i18n>Question</div>
+ <div class="col-lg-4 fw-bold" i18n>Response</div>
+ <div class="col-lg-4 fw-bold" i18n>Last Answered</div>
</div>
</li>
<li class="list-group-item" *ngFor="let response of survey.responses">
<button class="btn btn-outline-dark" (click)="verify()">Verify</button>
- <button class="btn btn-outline-dark ml-2"
+ <button class="btn btn-outline-dark ms-2"
*ngIf="!patronId" (click)="retrieve()">Retrieve</button>
<hr class="m-2"/>
-.badge {
+.rounded-pill {
font-size: 110%;
}
</div>
</div>
<div class="flex-1"></div>
- <div class="mr-2">
+ <div class="me-2">
<div class="form-inline">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" id="use-date-cbox"
<div class="row mt-3 pt-3">
<div class="col-lg-12 d-flex">
<div class="flex-1"></div>
- <div class="mr-3">
+ <div class="me-3">
<button class="btn btn-outline-dark"
(click)="printReceipt()" i18n>Print Receipt</button>
</div>
- <div class="mr-3">
+ <div class="me-3">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox"
id="trim-list-cbox" [(ngModel)]="trimList"/>
for="trim-list-cbox" i18n>Trim List (20)</label>
</div>
</div>
- <div class="mr-3">
+ <div class="me-3">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox"
(ngModelChange)="toggleStrictBarcode($event)"
</div>
<div class="col-sm-2">
<button class="btn btn-success" (click)="saveTemplate(false)" [disabled]="!readyToSave()" i18n>Save</button>
- <button class="btn btn-outline-dark ml-1" (click)="closeForm()" i18n>Close</button>
+ <button class="btn btn-outline-dark ms-1" (click)="closeForm()" i18n>Close</button>
</div>
</div>
<div *ngIf="rptType !== ''" class="row mt-2" id="sr-editor-main">
<div class="form-group row">
<legend class="col-form-label col-sm-1 pt-0" i18n>Recurrence</legend>
<div class="col-sm-10 form-inline">
- <div class="form-check mr-sm-2">
+ <div class="form-check me-sm-2">
<input class="form-check-input" type="checkbox" id="srRecurring" name="srRecurring" [(ngModel)]="templ.recurring">
<label class="form-check-label" for="srRecurring" i18n>Recurring Report?</label>
</div>
- <label *ngIf="templ.recurring" class="mr-sm-2" for="srRecurrenceInterval">Recurrence Interval</label>
+ <label *ngIf="templ.recurring" class="me-sm-2" for="srRecurrenceInterval">Recurrence Interval</label>
<eg-interval-input *ngIf="templ.recurring" [(ngModel)]="templ.recurrence" id="srRecurrenceInterval" name="srRecurrenceInterval">
</eg-interval-input>
</div>
<div class="form-group row">
<legend class="col-form-label col-sm-1 pt-0" i18n>Email</legend>
<div class="col-sm-10 form-inline">
- <label class="form-control-label mr-sm-2" for="srEmail" i18n>Email Address</label>
+ <label class="form-control-label me-sm-2" for="srEmail" i18n>Email Address</label>
<input class="form-control" type="text" id="srEmail" name="srEmail" [(ngModel)]="templ.email">
</div>
</div>
<h4>PRINTING</h4>
<div class="d-flex">
- <div class="mr-2">
+ <div class="me-2">
<button class="btn btn-info" (click)="doPrint()">Test Local Print</button>
<ng-template #printTemplate let-context>Hello, {{context.world}}!</ng-template>
</div>
- <div class="mr-2">
+ <div class="me-2">
<button class="btn btn-info" (click)="printWithDialog()">
Print with dialog (Hatch Only)
</button>
</div>
- <div class="mr-2">
+ <div class="me-2">
<button class="btn btn-info"
(click)="testServerPrint()">Test Server-Generated Print</button>
</div>
<div class="flex-1"></div><!-- push right -->
<ng-container *ngIf="gridFilters">
<span i18n>Filters Applied: {{gridFilters | json}}</span>
- <a class="pl-2 font-italic"
+ <a class="ps-2 font-italic"
[attr.href]="clearGridFiltersUrl()" i18n>Clear Filters</a>
</ng-container>
</div>
<div class='eg-bib-summary card tight-card w-100' *ngIf="summary">
<div class="card-header d-flex">
- <div class="font-weight-bold">
+ <div class="fw-bold">
<span i18n>Record Summary</span>
<ng-container *ngIf="summary.record.deleted() === 't'">
<span class="text-danger" i18n>(Deleted)</span>
</ng-container>
<ng-container *ngIf="summary.attributes.icon_format && summary.attributes.icon_format[0]">
<ng-container *ngFor="let icon of summary.attributes.icon_format">
- <span class="pr-1 pl-2">
- <img class="pr-1"
+ <span class="pe-1 ps-2">
+ <img class="pe-1"
src="/images/format_icons/icon_format/{{icon}}.png"/>
- <span class="font-weight-normal">{{iconFormatLabel(icon)}}</span>
+ <span class="fw-normal">{{iconFormatLabel(icon)}}</span>
</span>
</ng-container>
</ng-container>
<!-- in expanded display, show the jacket image along the left -->
<ng-container *ngIf="expand">
- <div class="col-lg-1 pr-0">
+ <div class="col-lg-1 pe-0">
<a href="/opac/extras/ac/jacket/large/r/{{summary.id}}" target="_blank">
<img class="jacket jacket-medium"
alt="Jacket Image" i18n-alt
</ng-container>
<!-- make room for the jacket image when expanded -->
- <div [ngClass]="{'col-lg-11 pl-0': expand, 'col-lg-12': !expand}">
+ <div [ngClass]="{'col-lg-11 ps-0': expand, 'col-lg-12': !expand}">
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item">
<div class="d-flex">
- <div class="flex-1 font-weight-bold" i18n>Title:</div>
+ <div class="flex-1 fw-bold" i18n>Title:</div>
<div class="flex-3">
<a routerLink="/staff/catalog/record/{{summary.id}}" target="_blank">
<eg-bib-display-field [summary]="summary" field="title"></eg-bib-display-field>
</a>
</div>
- <div class="flex-1 font-weight-bold pl-1" i18n>Edition:</div>
+ <div class="flex-1 fw-bold ps-1" i18n>Edition:</div>
<div class="flex-1">{{summary.display.edition}}</div>
- <div class="flex-1 font-weight-bold" i18n>TCN:</div>
+ <div class="flex-1 fw-bold" i18n>TCN:</div>
<div class="flex-1">{{summary.record.tcn_value()}}</div>
- <div class="flex-1 font-weight-bold pl-1" i18n>Created By:</div>
+ <div class="flex-1 fw-bold ps-1" i18n>Created By:</div>
<div class="flex-1" *ngIf="summary.record.creator().usrname">
<a href="/eg/staff/circ/patron/{{summary.record.creator().id()}}/checkout" target="_blank">
{{summary.record.creator().usrname()}}
</li>
<li class="list-group-item" *ngIf="expand">
<div class="d-flex">
- <div class="flex-1 font-weight-bold" i18n>Author:</div>
+ <div class="flex-1 fw-bold" i18n>Author:</div>
<div class="flex-3">{{summary.display.author}}</div>
- <div class="flex-1 font-weight-bold pl-1" i18n>Pubdate:</div>
+ <div class="flex-1 fw-bold ps-1" i18n>Pubdate:</div>
<div class="flex-1">{{summary.display.pubdate}}</div>
- <div class="flex-1 font-weight-bold" i18n>Database ID:</div>
+ <div class="flex-1 fw-bold" i18n>Database ID:</div>
<div class="flex-1">{{summary.id}}</div>
- <div class="flex-1 font-weight-bold pl-1" i18n>Last Edited By:</div>
+ <div class="flex-1 fw-bold ps-1" i18n>Last Edited By:</div>
<div class="flex-1" *ngIf="summary.record.editor().usrname">
<a href="/eg/staff/circ/patron/{{summary.record.editor().id()}}/checkout" target="_blank">
{{summary.record.editor().usrname()}}
</li>
<li class="list-group-item" *ngIf="expand">
<div class="d-flex">
- <div class="flex-1 font-weight-bold" i18n>Bib Call #:</div>
+ <div class="flex-1 fw-bold" i18n>Bib Call #:</div>
<div class="flex-3">{{summary.bibCallNumber}}</div>
- <div class="flex-1 font-weight-bold" i18n>Record Owner:</div>
+ <div class="flex-1 fw-bold" i18n>Record Owner:</div>
<div class="flex-1">{{orgName(summary.record.owner())}}</div>
- <div class="flex-1 font-weight-bold pl-1" i18n>Created On:</div>
+ <div class="flex-1 fw-bold ps-1" i18n>Created On:</div>
<div class="flex-1">{{summary.record.create_date() | date:'short'}}</div>
- <div class="flex-1 font-weight-bold pl-1" i18n>Last Edited On:</div>
+ <div class="flex-1 fw-bold ps-1" i18n>Last Edited On:</div>
<div class="flex-1">{{summary.record.edit_date() | date:'short'}}</div>
</div>
</li>
<ng-container *ngIf="expand && hasCourse">
<li class="list-group-item">
<div class="d-flex">
- <div class="flex-1 font-weight-bold" i18n>Associated Courses</div>
+ <div class="flex-1 fw-bold" i18n>Associated Courses</div>
</div>
</li>
<li class="list-group-item" *ngFor="let course of courses">
<div class="d-flex">
- <div class="flex-1 font-weight-bold" i18n>Course Name:</div>
+ <div class="flex-1 fw-bold" i18n>Course Name:</div>
<div class="flex-3">
<a routerLink="/staff/admin/local/asset/course_list/{{course.id()}}" target="_blank">
{{course.name()}}
</a>
</div>
- <div class="flex-1 font-weight-bold" i18n>Course Number:</div>
+ <div class="flex-1 fw-bold" i18n>Course Number:</div>
<div class="flex-1">{{course.course_number()}}</div>
- <div class="flex-1 font-weight-bold" i18n>Section Number:</div>
+ <div class="flex-1 fw-bold" i18n>Section Number:</div>
<div class="flex-1">{{course.section_number()}}</div>
- <div class="flex-1 font-weight-bold" i18n>Owning Library:</div>
+ <div class="flex-1 fw-bold" i18n>Owning Library:</div>
<div class="flex-1">{{this.org.get(course.owning_lib()).shortname()}}</div>
</div>
</li>
<ng-container *ngIf="expand && summary.eResourceUrls.length">
<li class="list-group-item" *ngFor="let url of summary.eResourceUrls">
<div class="d-flex">
- <div class="flex-1 font-weight-bold">
+ <div class="flex-1 fw-bold">
<ng-container [ngSwitch]="url.ind2">
<ng-container *ngSwitchCase="'0'" i18n>Resource:</ng-container>
<ng-container *ngSwitchCase="'1'" i18n>Version of Resource:</ng-container>
<a role="tab" ngbNavLink i18n>Existing bucket</a>
<ng-template ngbNavContent>
<div class="row mt-3">
- <div class="col-lg-3 font-weight-bold"><label for="existing-bucket-name">Name of existing bucket</label></div>
+ <div class="col-lg-3 fw-bold"><label for="existing-bucket-name">Name of existing bucket</label></div>
<div class="col-lg-5">
<eg-combobox [entries]="formatBucketEntries()"
(onChange)="bucketChanged($event)"
<a role="tab" ngbNavLink i18n>New bucket</a>
<ng-template ngbNavContent>
<div class="row mt-3">
- <div class="col-lg-3 font-weight-bold" i18n>Name of new bucket</div>
+ <div class="col-lg-3 fw-bold" i18n>Name of new bucket</div>
<div class="col-lg-5">
<input type="text" class="form-control"
placeholder="New Bucket Name..."
</div>
</div>
<div class="row mt-3">
- <div class="col-lg-3 font-weight-bold" i18n>New bucket description</div>
+ <div class="col-lg-3 fw-bold" i18n>New bucket description</div>
<div class="col-lg-5">
<textarea size="3" type="text" class="form-control"
placeholder="Optional New Bucket Description..."
<a role="tab" ngbNavLink i18n>Shared bucket</a>
<ng-template ngbNavContent>
<div class="row mt-3">
- <div class="col-lg-3 font-weight-bold" i18n>ID of shared bucket</div>
+ <div class="col-lg-3 fw-bold" i18n>ID of shared bucket</div>
<div class="col-lg-5">
<input type="number" class="form-control"
[(ngModel)]="sharedBucketId"/>
</div>
</div>
<div *ngIf="patronExceeds" class="row mt-3 mb-3 d-flex">
- <div class="flex-1 p-2 mr-2 alert alert-danger" i18n>
+ <div class="flex-1 p-2 me-2 alert alert-danger" i18n>
Patron exceeds claims returned count. Force this action?
</div>
<div>
- <button class="btn btn-warning mr-2"
+ <button class="btn btn-warning me-2"
(click)="confirmExceeds()" i18n>Confirm</button>
</div>
</div>
<div class="card mb-2">
<div class="card-header text-danger">{{evt.textcode}}</div>
<div class="card-body">
- <div class="font-weight-bold">{{copyBarcode}}</div>
+ <div class="fw-bold">{{copyBarcode}}</div>
<div>{{evt.desc}}</div>
<ng-container *ngIf="evt.textcode === 'COPY_ALERT_MESSAGE'">
<ng-container *ngIf="!isArray(evt.payload)">
<!-- Traditional copy.alert_message value in payload -->
- <div class="mt-2 font-weight-bold">{{evt.payload}}</div>
+ <div class="mt-2 fw-bold">{{evt.payload}}</div>
</ng-container>
<ng-container *ngIf="isArray(evt.payload)">
<!-- Array of new-style copy alerts in payload -->
- <div class="mt-2 font-weight-bold" *ngFor="let alert of evt.payload">
+ <div class="mt-2 fw-bold" *ngFor="let alert of evt.payload">
<div>{{alert.alert_type().name()}}</div>
<div>{{alert.note()}}</div>
</div>
</button>
</div>
<div class="modal-body">
- <h5 class="font-weight-bold" i18n>
+ <h5 class="fw-bold" i18n>
There is an open circulation on the requested item.
</h5>
(click)="close({checkout: true, forgiveFines: forgiveFines})" i18n>
Normal Checkin Then Checkout</button>
- <button type="button" class="btn btn-info ml-2" *ngIf="sameUser"
+ <button type="button" class="btn btn-info ms-2" *ngIf="sameUser"
(click)="close({renew: true, forgiveFines: forgiveFines})" i18n>Renew</button>
- <button type="button" class="btn btn-warning ml-2"
+ <button type="button" class="btn btn-warning ms-2"
(click)="close()" i18n>Cancel</button>
</div>
</div>
</div>
<div>
- <span class="mr-2" i18n>Patron Barcode:</span>
+ <span class="me-2" i18n>Patron Barcode:</span>
<ng-container *ngIf="checkin.patron.card()">
<span>{{checkin.patron.card().barcode()}}</span>
</ng-container>
<ng-template #itemSummary>
<div>
- <span class="mr-2" i18n>Item Barcode:</span>
+ <span class="me-2" i18n>Item Barcode:</span>
<span>{{checkin.copy.barcode()}}</span>
</div>
<div>
- <span class="mr-2" i18n>Title:</span>
+ <span class="me-2" i18n>Title:</span>
<span>{{checkin.title}}</span>
</div>
<div>
- <span class="mr-2" i18n>Author:</span>
+ <span class="me-2" i18n>Author:</span>
<span>{{checkin.author}}</span>
</div>
<div *ngIf="checkin.volume">
- <span class="mr-2" i18n>Call Number:</span>
+ <span class="me-2" i18n>Call Number:</span>
<span>{{checkin.volume.prefix().label()}} {{
checkin.volume.label()}} {{checkin.volume.suffix().label()}}</span>
</div>
<ng-template #holdSummary>
<div>
- <span class="mr-2" i18n>Request Date:</span>
+ <span class="me-2" i18n>Request Date:</span>
<span>{{checkin.hold.request_time() | date:'short'}}</span>
</div>
<div *ngIf="checkin.hold.notes().length > 0">
- <span class="mr-2" i18n>Request Notes:</span>
+ <span class="me-2" i18n>Request Notes:</span>
<ul>
<li *ngFor="let note of checkin.hold.notes()">
<strong>{{note.title()}}</strong>: {{note.body()}}
<ng-container *ngTemplateOutlet="holdSummary"></ng-container>
<br/>
<div>
- <span class="mr-2" i18n>Slip Date:</span>
+ <span class="me-2" i18n>Slip Date:</span>
<span>{{today | date:'short'}}</span>
</div>
</ng-template>
<ng-template #transitTmpl>
<div>
- <span class="mr-2" i18n>Destination</span>
+ <span class="me-2" i18n>Destination</span>
<strong>{{checkin.destOrg.shortname()}}</strong>
</div>
<div *ngIf="checkin.destCourierCode">{{checkin.destCourierCode}} </div>
<br/>
</div>
<div>
- <span class="mr-2" i18n>Slip Date:</span>
+ <span class="me-2" i18n>Slip Date:</span>
<span>{{today | date:'short'}}</span>
</div>
</ng-template>
<div class="border rounded m-1">
- <div class="font-weight-bold header p-2 d-flex" i18n>
+ <div class="fw-bold header p-2 d-flex" i18n>
{{label}} <span *ngIf="hasChanged" class="text-danger">*</span>
<ng-container *ngIf="bulky()">
<div class="flex-1"></div>
</ng-container>
<ng-container *ngIf="expanded || editing || idx < defaultDisplayCount">
<ng-container *ngIf="editing">
- <div class="ml-4 mr-2">
+ <div class="ms-4 me-2">
<input type="checkbox" class="form-check-input"
[(ngModel)]="editValues[count.key]"/>
</div>
<ng-template #default>{{count.key}}</ng-template>
</ng-container>
</div>
- <div class="pl-1 border-left" i18n>
+ <div class="ps-1 border-left" i18n>
{count.value, plural, =1 {1 copy} other {{{count.value}} copies}}
</div>
</ng-container>
<ng-container *ngTemplateOutlet="editTemplate"></ng-container>
<div class="mt-1">
<button class="btn btn-outline-dark" (click)="save()" i18n>Apply</button>
- <button class="btn btn-outline-dark ml-1" (click)="cancel()" i18n>Cancel</button>
- <button class="btn btn-outline-dark ml-1" (click)="clear()" i18n>Clear</button>
+ <button class="btn btn-outline-dark ms-1" (click)="cancel()" i18n>Cancel</button>
+ <button class="btn btn-outline-dark ms-1" (click)="clear()" i18n>Clear</button>
</div>
</ng-container>
</div>
{{alert._message}}
</div>
<div class="col-lg-2">
- <button class="btn btn-sm btn-outline-dark mr-2" *ngIf="canBeAcked(alert)"
+ <button class="btn btn-sm btn-outline-dark me-2" *ngIf="canBeAcked(alert)"
(click)="alert._acked = !alert._acked" i18n>Clear</button>
</div>
</div>
</div>
<div class="modal-footer">
- <button class="btn btn-success mr-2" (click)="ok()" i18n>OK/Continue</button>
+ <button class="btn btn-success me-2" (click)="ok()" i18n>OK/Continue</button>
<button type="button" class="btn btn-secondary" (click)="close()" i18n>Cancel</button>
</div>
</ng-template>
[mandatory]="true"
(onChange)="alert.alert_type($event ? $event.id : null); alert.ischanged(true)">
</eg-combobox>
- <div class="pl-2 pt-2" i18n>
+ <div class="ps-2 pt-2" i18n>
Added: {{alert.create_time() | date:'shortDate'}}
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
(click)="close()" i18n>Close</button>
- <button class="btn btn-success mr-2"
+ <button class="btn btn-success me-2"
(click)="applyChanges()" i18n>Apply Changes</button>
</div>
</ng-template>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" (click)="close()" i18n>Cancel</button>
- <button class="btn btn-success mr-2" (click)="applyChanges()" i18n>Apply Changes</button>
+ <button class="btn btn-success me-2" (click)="applyChanges()" i18n>Apply Changes</button>
</div>
</ng-template>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" (click)="close()" i18n>Cancel</button>
- <button class="btn btn-success mr-2" (click)="applyChanges()" i18n>Apply Changes</button>
+ <button class="btn btn-success me-2" (click)="applyChanges()" i18n>Apply Changes</button>
</div>
</ng-template>
<div class="modal-body">
<div class="row">
<div class="col-lg-1">Barcode:</div>
- <div class="col-lg-11 font-weight-bold">{{copy.barcode()}}</div>
+ <div class="col-lg-11 fw-bold">{{copy.barcode()}}</div>
</div>
<div class="row">
<div class="col-lg-1">Title:</div>
<li class="list-group-item">
<span i18n>
Calucated fine amount is
- <span class="font-weight-bold text-danger">
+ <span class="fw-bold text-danger">
{{chargeResponse.charge | currency}}
</span>
</span>
<ng-container *ngIf="chargeResponse">
<button type="button" class="btn btn-warning"
(click)="close(false)" i18n>Cancel</button>
- <button class="btn btn-info mr-2"
+ <button class="btn btn-info me-2"
(click)="amountChangeRequested = true" i18n>Change Amount</button>
- <button class="btn btn-secondary mr-2"
+ <button class="btn btn-secondary me-2"
(click)="markDamaged({apply_fines:'noapply'})" i18n>No Charge</button>
- <button class="btn btn-success mr-2"
+ <button class="btn btn-success me-2"
(click)="markDamaged({apply_fines:'apply'})" i18n>OK</button>
</ng-container>
</div>
<div class="modal-body">
<div class="row">
<div class="col-lg-4" i18n>Replacing barcode</div>
- <div class="col-lg-8 font-weight-bold">{{copy.barcode()}}</div>
+ <div class="col-lg-8 fw-bold">{{copy.barcode()}}</div>
</div>
<div class="row pt-2 form-validated">
<div class="col-lg-4" i18n>
</div>
<div class="row d-flex pt-2 justify-content-center" *ngIf="barcodeExists">
<div class="alert alert-danger" i18n>
- Barcode <span class="font-weight-bold">{{newBarcode}}</span> is already in use.
+ Barcode <span class="fw-bold">{{newBarcode}}</span> is already in use.
</div>
</div>
</div>
<div class="col-lg-2">
<button (click)="showListView()" class="btn btn-info" i18n>List View</button>
</div>
- <div class="col-lg-3 font-weight-bold" i18n><h4>Hold #{{holdId}}</h4></div>
+ <div class="col-lg-3 fw-bold" i18n><h4>Hold #{{holdId}}</h4></div>
</div>
<div class="well-table">
<button class="btn btn-outline-dark mt-3" (click)="newNote()" i18n>New Note</button>
<div class="mt-3" *ngFor="let note of notes">
<div class="d-flex">
- <div class="font-weight-bold">{{note.title()}}</div>
+ <div class="fw-bold">{{note.title()}}</div>
<div class="flex-1"></div>
<div>
<span *ngIf="note.slip() === 't'"
- class="ml-2 badge badge-info p-1">Print on Slip</span>
+ class="ms-2 rounded-pill bg-info p-1">Print on Slip</span>
<span *ngIf="note.pub() === 't'"
- class="ml-2 badge badge-warning p-1">Patron Visible</span>
+ class="ms-2 rounded-pill bg-warning p-1">Patron Visible</span>
<span *ngIf="note.staff() === 't'"
- class="ml-2 badge badge-info p-1">Staff Create</span>
+ class="ms-2 rounded-pill bg-info p-1">Staff Create</span>
</div>
</div>
<div class="well-table">
(click)="newNotify()" i18n>Add Record of Notification</button>
<div class="mt-3" *ngFor="let notify of notifies">
<div class="d-flex">
- <div class="font-weight-bold">{{notify.method()}}</div>
+ <div class="fw-bold">{{notify.method()}}</div>
<div class="flex-1"></div>
<div>
<span>{{notify.notify_time() | date:'short'}}</span>
- <span class="ml-2" i18n>
+ <span class="ms-2" i18n>
Created by {{notify.notify_staff().usrname()}}</span>
</div>
<div>
<button type="button" class="btn btn-warning" (click)="exit()" i18n>
Cancel
</button>
- <button type="button" class="btn btn-success ml-2" (click)="save()" i18n>
+ <button type="button" class="btn btn-success ms-2" (click)="save()" i18n>
Apply
</button>
</div>
<div class="w-100">
<button class="btn btn-success ms-auto" (click)="createNote()"
[disabled]="!title || !body" i18n>Create Note</button>
- <button class="btn btn-warning ml-2" (click)="close()" i18n>Cancel</button>
+ <button class="btn btn-warning ms-2" (click)="close()" i18n>Cancel</button>
</div>
</div>
</ng-template>
<div class="w-100">
<button class="btn btn-success ms-auto" (click)="createNotify()"
[disabled]="!method || !note" i18n>Create</button>
- <button class="btn btn-warning ml-2" (click)="close()" i18n>Cancel</button>
+ <button class="btn btn-warning ms-2" (click)="close()" i18n>Cancel</button>
</div>
</div>
</ng-template>
<!-- display a single heading as MARC or as the human friendlier string -->
<ng-template #headingField
let-field="field" let-from="from" let-also="also" let-authId="authId">
- <button class="btn btn-sm p-1 mr-1"
+ <button class="btn btn-sm p-1 me-1"
[ngClass]="{'btn-outline-primary': !(from || also), 'btn-outline-info': (from || also)}"
(click)="applyHeading(field, authId)" i18n>Apply</button>
<ng-container *ngIf="showAs === 'heading'">
</div>
<div class="modal-body">
<div class="row border-bottom border-secondary p-2 d-flex">
- <div class="flex-1 font-weight-bold p-1 pl-2 pt-2 ml-2">
+ <div class="flex-1 fw-bold p-1 ps-2 pt-2 ms-2">
<div>{{bibField.tag}} {{bibField.ind1}} {{bibField.ind2}}</div>
<div *ngFor="let sf of bibField.subfields">
</div>
</div>
</div>
- <div class="ml-2 p-1">
+ <div class="ms-2 p-1">
<div class="mb-1" i18n>Create new authority from this field</div>
<div>
<button class="btn btn-outline-info"
(click)="createNewAuthority()">Immediately</button>
- <button class="btn btn-outline-info ml-2"
+ <button class="btn btn-outline-info ms-2"
(click)="createNewAuthority(true)">Create and Edit</button>
</div>
</div>
<div class="flex-1">
<button class="btn btn-outline-dark" [disabled]="pager.offset === 0"
(click)="getPage(0)" i18n>Start</button>
- <button class="btn btn-outline-dark ml-2"
+ <button class="btn btn-outline-dark ms-2"
(click)="getPage(-1)" i18n>Previous</button>
- <button class="btn btn-outline-dark ml-2"
+ <button class="btn btn-outline-dark ms-2"
(click)="getPage(1)" i18n>Next</button>
</div>
<div class="pt-2 mb-2">
<ng-container *ngIf="showFastAdd">
<div class="form-inline">
- <input type="text" class="form-control ml-2"
+ <input type="text" class="form-control ms-2"
[(ngModel)]="fastItemLabel" placeholder="Call Number" i18n-placeholder/>
- <input type="text" class="form-control ml-2"
+ <input type="text" class="form-control ms-2"
[(ngModel)]="fastItemBarcode" placeholder="Barcode" i18n-placeholder/>
</div>
</ng-container>
<div class="flex-1"></div>
- <h3 class="mr-2">
- <span class="badge badge-light p-2" i18n>
+ <h3 class="me-2">
+ <span class="rounded-pill bg-light p-2" i18n>
Record Type {{record ? record.recordType() : ''}}
</span>
</h3>
<ng-container *ngIf="recordType === 'biblio'">
- <div class="mr-2">
+ <div class="me-2">
<eg-combobox #sourceSelector
[entries]="sources"
placeholder="Select a Source..."
</div>
</ng-container>
- <div class="pr-3 mr-3 border-right">
+ <div class="pe-3 me-3 border-right">
<button class="btn btn-success" (click)="saveRecord()"
[disabled]="(record && record.deleted) || record.id === -1" i18n>Save Changes</button>
</div>
<div class="d-flex">
<div class="flex-4">
- <span id="label-{{randId}}" class="text-left font-weight-bold">
+ <span id="label-{{randId}}" class="text-left fw-bold">
{{fieldLabel}}
</span>
</div>
<!-- SUBFIELD DECORATOR/DELIMITER -->
<eg-marc-editable-content fieldText="‡" i18n-fieldText
- moreClasses="sf-delimiter border-right-0 bg-transparent p-1 pr-0">
+ moreClasses="sf-delimiter border-right-0 bg-transparent p-1 pe-0">
</eg-marc-editable-content>
<!-- SUBFIELD CHARACTER -->
<eg-marc-editable-content
[context]="context" [field]="field" fieldType="sfc"
[subfield]="subfield" ariaLabel="Subfield Code" i18n-ariaLabel
- moreClasses="sf-code border-left-0 p-1 pl-0">
+ moreClasses="sf-code border-left-0 p-1 ps-0">
</eg-marc-editable-content>
<!-- SUBFIELD VALUE -->
</ng-container>
<ng-container *ngIf="field.authChecked">
- <span class="pl-2 pt-2">
+ <span class="ps-2 pt-2">
<span *ngIf="field.authValid"
title="Authority Validation Succeeded" i18n-title
class="material-icons label-with-material-icon text-success">
<div class="mt-2">
<button type="button" class="btn btn-outline-info"
[disabled]="undoCount() < 1" (click)="undo()">
- Undo <span class="badge badge-info">{{undoCount()}}</span>
+ Undo <span class="rounded-pill bg-info">{{undoCount()}}</span>
</button>
- <button type="button" class="btn btn-outline-info ml-2"
+ <button type="button" class="btn btn-outline-info ms-2"
[disabled]="redoCount() < 1" (click)="redo()">
- Redo <span class="badge badge-info">{{redoCount()}}</span>
+ Redo <span class="rounded-pill bg-info">{{redoCount()}}</span>
</button>
</div>
<div class="mt-2">
</div>
<!-- LEADER -->
- <div class="row pt-0 pb-0 pl-3">
+ <div class="row pt-0 pb-0 ps-3">
<eg-marc-editable-content
[context]="context" fieldText="LDR" i18n-fieldText moreClasses="p-1">
</eg-marc-editable-content>
<eg-marc-editable-content
[context]="context" fieldType="ldr"
- ariaLabel="Leader" i18n-ariaLabel moreClasses="p-1 pr-2">
+ ariaLabel="Leader" i18n-ariaLabel moreClasses="p-1 pe-2">
</eg-marc-editable-content>
</div>
<!-- CONTROL FIELDS -->
- <div class="row pt-0 pb-0 pl-3"
+ <div class="row pt-0 pb-0 ps-3"
*ngFor="let field of controlFields()">
<eg-marc-editable-content
<!-- data fields -->
<ng-container *ngFor="let field of dataFields()">
- <div class="row pt-0 pb-0 pl-3">
+ <div class="row pt-0 pb-0 ps-3">
<!-- TAG -->
<eg-marc-editable-content
<form class="form-validated">
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold" for="username" i18n>Username</label>
+ <label class="col-lg-4 text-right fw-bold" for="username" i18n>Username</label>
<input
type="text"
class="form-control col-lg-7"
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
for="password" i18n>Password</label>
<input
type="password"
</div>
<div class="form-group row">
- <label class="col-lg-4 text-right font-weight-bold"
+ <label class="col-lg-4 text-right fw-bold"
for="loginType" i18n>Login Type</label>
<select
class="form-control col-lg-7"
</div>
<div class="modal-footer">
<button (click)="login()" class="btn btn-info" i18n>OK/Continue</button>
- <button (click)="close()" class="btn btn-warning ml-2" i18n>Cancel</button>
+ <button (click)="close()" class="btn btn-warning ms-2" i18n>Cancel</button>
</div>
</ng-template>
</div>
<div class="row d-flex p-3">
<div>
- <button class="btn mr-1 {{buttonClass(SILENT_NOTE)}}"
+ <button class="btn me-1 {{buttonClass(SILENT_NOTE)}}"
(click)="penaltyTypeFromButton=SILENT_NOTE" i18n>Note</button>
- <button class="btn mr-1 {{buttonClass(ALERT_NOTE)}}"
+ <button class="btn me-1 {{buttonClass(ALERT_NOTE)}}"
(click)="penaltyTypeFromButton=ALERT_NOTE" i18n >Alert</button>
- <button class="btn mr-1 {{buttonClass(STAFF_CHR)}}"
+ <button class="btn me-1 {{buttonClass(STAFF_CHR)}}"
(click)="penaltyTypeFromButton=STAFF_CHR" i18n>Block</button>
</div>
<div class="flex-1"></div>
<div class="patron-search-form">
<div class="row m-0 mb-2">
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" id='focus-this-input'
i18n-aria-label aria-label="Last Name" (keyup.enter)="go()"
i18n-placeholder placeholder="Last Name"
[(ngModel)]="search.family_name"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="First Name"
i18n-placeholder placeholder="First Name"
[(ngModel)]="search.first_given_name"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Middle Name"
i18n-placeholder placeholder="Middle Name"
[(ngModel)]="search.second_given_name"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Name Keywords"
i18n-placeholder placeholder="Name Keywords"
[(ngModel)]="search.name"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<button class="btn btn-success w-100" (click)="go()" i18n>Search</button>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<button (click)="toggleExpandForm()"
- class="btn btn-outline-dark ml-2 label-with-material-icon"
+ class="btn btn-outline-dark ms-2 label-with-material-icon"
i18n-title title="Toggle Expanded Form Display">
<span *ngIf="!expandForm" class="material-icons">arrow_drop_down</span>
<span *ngIf="expandForm" class="material-icons">arrow_drop_up</span>
<ng-container *ngIf="expandForm">
<div class="row m-0 mb-2">
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Barcode"
i18n-placeholder placeholder="Barcode"
[(ngModel)]="search.card"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Alias"
i18n-placeholder placeholder="Alias"
[(ngModel)]="search.alias"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Username"
i18n-placeholder placeholder="Username"
[(ngModel)]="search.usrname"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Email"
i18n-placeholder placeholder="Email"
[(ngModel)]="search.email"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<button class="btn btn-warning w-100" (click)="clear()" i18n>Clear Form</button>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
</div>
</div>
<div class="row m-0 mb-2">
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Identification"
i18n-placeholder placeholder="Identification"
[(ngModel)]="search.ident"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Phone"
i18n-placeholder placeholder="Phone"
[(ngModel)]="search.phone"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Street 1"
i18n-placeholder placeholder="Street 1"
[(ngModel)]="search.street1"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Street 2"
i18n-placeholder placeholder="Street 2"
[(ngModel)]="search.street2"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="City"
i18n-placeholder placeholder="City"
[(ngModel)]="search.city"/>
</div>
- <div class="col-lg-2 pl-1 pr-1"></div>
+ <div class="col-lg-2 ps-1 pe-1"></div>
</div>
<div class="row m-0 mb-2">
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="State"
i18n-placeholder placeholder="State"
[(ngModel)]="search.state"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Post Code"
i18n-placeholder placeholder="Post Code"
[(ngModel)]="search.post_code"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<eg-profile-select [useDisplayEntries]="true"
[(ngModel)]="search.profile">
</eg-profile-select>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<eg-org-select (onChange)="searchOrg = $event"
persistKey="patron.search"
[fallbackOrg]="org.root()"
</eg-org-select>
<!-- home org -->
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Guardian"
i18n-placeholder placeholder="Guardian"
[(ngModel)]="search.guardian"/>
</div>
- <div class="col-lg-2 pl-1 pr-1"></div>
+ <div class="col-lg-2 ps-1 pe-1"></div>
</div>
<div class="row m-0 mb-2">
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="DOB Year"
i18n-placeholder placeholder="DOB Year"
[(ngModel)]="search.dob_year"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="DOB Month"
i18n-placeholder placeholder="DOB Month"
[(ngModel)]="search.dob_month"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="DOB Day"
i18n-placeholder placeholder="DOB Day"
[(ngModel)]="search.dob_day"/>
</div>
- <div class="col-lg-2 pl-1 pr-1">
+ <div class="col-lg-2 ps-1 pe-1">
<input class="form-control" type="text" (keyup.enter)="go()"
i18n-aria-label aria-label="Database ID"
i18n-placeholder placeholder="Database ID"
<div class="row d-flex patron-status-color rounded {{patronStatusColor()}}">
<div class="flex-1 pt-1 {{patronStatusColor()}}">
- <h4 class="font-weight-bold" i18n>
+ <h4 class="fw-bold" i18n>
{{patronService.namePart(p(), 'family_name')}},
{{patronService.namePart(p(), 'first_given_name')}}
{{patronService.namePart(p(), 'second_given_name')}}
<legend class="d-flex" [ngClass]="{'alert alert-danger p-0': addr.valid() === 'f'}">
<div class="flex-1">{{addr.address_type()}}</div>
<div>
- <a class="mr-2" href="javascript:;"
+ <a class="me-2" href="javascript:;"
(click)="copyAddress(addr)" i18n>copy</a>
- <a class="mr-2" href="javascript:;"
+ <a class="me-2" href="javascript:;"
(click)="printAddress(addr)" i18n>print</a>
</div>
</legend>