LP2000482 Bootstrap 5: Rename some utility classes
authorBill Erickson <berickxx@gmail.com>
Tue, 27 Dec 2022 16:02:57 +0000 (11:02 -0500)
committerBill Erickson <berickxx@gmail.com>
Tue, 27 Dec 2022 16:02:59 +0000 (11:02 -0500)
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>
125 files changed:
Open-ILS/src/eg2/src/app/staff/about.component.html
Open-ILS/src/eg2/src/app/staff/acq/asn/receive.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/batch-copies.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/batch-update-copies-dialog.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/bib-finder-dialog.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/copies.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/copy-attrs.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/export-attributes-dialog.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/lineitem-list.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/notes.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/order-summary.component.html
Open-ILS/src/eg2/src/app/staff/acq/lineitem/worksheet.component.html
Open-ILS/src/eg2/src/app/staff/acq/picklist/summary.component.html
Open-ILS/src/eg2/src/app/staff/acq/picklist/upload.component.html
Open-ILS/src/eg2/src/app/staff/acq/po/charges.component.html
Open-ILS/src/eg2/src/app/staff/acq/po/notes.component.html
Open-ILS/src/eg2/src/app/staff/acq/po/print.component.html
Open-ILS/src/eg2/src/app/staff/acq/po/summary.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider-search-form.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/acq-provider.component.html
Open-ILS/src/eg2/src/app/staff/acq/provider/summary-pane.component.html
Open-ILS/src/eg2/src/app/staff/acq/related/related.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search-form.component.html
Open-ILS/src/eg2/src/app/staff/acq/search/acq-search.component.html
Open-ILS/src/eg2/src/app/staff/admin/acq/funds/fund-details-dialog.component.html
Open-ILS/src/eg2/src/app/staff/admin/acq/funds/fund-rollover-dialog.component.html
Open-ILS/src/eg2/src/app/staff/admin/acq/funds/funding-source-transactions-dialog.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/copy-loc-order/copy-loc-order.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-associate-material.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/course-reserves/course-page.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/negative-balances/list.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/org-unit-settings/org-unit-setting-history-dialog.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/org-unit-settings/org-unit-settings.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/search-filter/query-dialog.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/shelving_location_groups/shelving_location_groups.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/staff_portal_page/staff-portal-page.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/survey/survey-edit.component.html
Open-ILS/src/eg2/src/app/staff/admin/local/triggers/trigger-edit.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/coded-value-maps/composite-def.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/coded-value-maps/composite-new.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/floating-group/edit-floating-group.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/org-addr.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/org-unit-type.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/org-unit.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/perm-group-tree.component.html
Open-ILS/src/eg2/src/app/staff/admin/server/print-template.component.html
Open-ILS/src/eg2/src/app/staff/booking/create-reservation-dialog.component.html
Open-ILS/src/eg2/src/app/staff/cat/authority/browse.component.html
Open-ILS/src/eg2/src/app/staff/cat/authority/manage.component.html
Open-ILS/src/eg2/src/app/staff/cat/item/missing-pieces.component.html
Open-ILS/src/eg2/src/app/staff/cat/marcbatch/marcbatch.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/export.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/import.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/match-set-expression.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/match-set-new-point.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/match-set-quality.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/queue.component.html
Open-ILS/src/eg2/src/app/staff/cat/vandelay/recent-imports.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/config.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/copy-attrs.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/vol-edit.component.html
Open-ILS/src/eg2/src/app/staff/cat/volcopy/volcopy.component.html
Open-ILS/src/eg2/src/app/staff/catalog/basket-actions.component.html
Open-ILS/src/eg2/src/app/staff/catalog/browse/results.component.html
Open-ILS/src/eg2/src/app/staff/catalog/cnbrowse/results.component.html
Open-ILS/src/eg2/src/app/staff/catalog/hold/hold.component.html
Open-ILS/src/eg2/src/app/staff/catalog/prefs.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/actions.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/add-to-carousel-dialog.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/copies.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/holdings.component.html
Open-ILS/src/eg2/src/app/staff/catalog/record/record.component.html
Open-ILS/src/eg2/src/app/staff/catalog/result/browse-pager.component.html
Open-ILS/src/eg2/src/app/staff/catalog/result/record.component.html
Open-ILS/src/eg2/src/app/staff/catalog/result/results.component.html
Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html
Open-ILS/src/eg2/src/app/staff/catalog/search-templates.component.html
Open-ILS/src/eg2/src/app/staff/circ/checkin/checkin.component.css
Open-ILS/src/eg2/src/app/staff/circ/checkin/checkin.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/barcodes.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/bill-statement.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/billing-history.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/bills.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/checkout.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/edit-toolbar.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/edit.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/group.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/hold-notify-update.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/messages.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/perms.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/secondary-groups.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/statcats.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/surveys.component.html
Open-ILS/src/eg2/src/app/staff/circ/patron/test-password.component.html
Open-ILS/src/eg2/src/app/staff/circ/renew/renew.component.css
Open-ILS/src/eg2/src/app/staff/circ/renew/renew.component.html
Open-ILS/src/eg2/src/app/staff/reporter/simple/sr-editor.component.html
Open-ILS/src/eg2/src/app/staff/reporter/simple/sr-output-options.component.html
Open-ILS/src/eg2/src/app/staff/sandbox/sandbox.component.html
Open-ILS/src/eg2/src/app/staff/share/admin-page/admin-page.component.html
Open-ILS/src/eg2/src/app/staff/share/bib-summary/bib-summary.component.html
Open-ILS/src/eg2/src/app/staff/share/buckets/bucket-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/circ/claims-returned-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/circ/events-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/circ/open-circ-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/circ/route-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/batch-item-attr.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/copy-alert-manager.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/copy-alerts-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/copy-notes-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/copy-tags-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/mark-damaged-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holdings/replace-barcode-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holds/detail.component.html
Open-ILS/src/eg2/src/app/staff/share/holds/manage.component.html
Open-ILS/src/eg2/src/app/staff/share/holds/note-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/holds/notify-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/marc-edit/authority-linking-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/marc-edit/editor.component.html
Open-ILS/src/eg2/src/app/staff/share/marc-edit/fixed-field.component.html
Open-ILS/src/eg2/src/app/staff/share/marc-edit/rich-editor.component.html
Open-ILS/src/eg2/src/app/staff/share/op-change/op-change.component.html
Open-ILS/src/eg2/src/app/staff/share/patron/penalty-dialog.component.html
Open-ILS/src/eg2/src/app/staff/share/patron/search.component.html
Open-ILS/src/eg2/src/app/staff/share/patron/summary.component.html

index 9e8e1c4..6181376 100644 (file)
@@ -45,7 +45,7 @@
       Evergreen is Copyright &#0169; 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>
index 7df43c3..15d70ab 100644 (file)
@@ -14,7 +14,7 @@
         <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>
@@ -94,7 +94,7 @@ across different vendors to match a container code.
       <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>
@@ -134,7 +134,7 @@ across different vendors to match a container code.
             <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>
index a654c87..3eb98b9 100644 (file)
@@ -6,7 +6,7 @@
      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>
index 72e71b1..864c486 100644 (file)
@@ -1,5 +1,5 @@
 <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'}"
index 5adebb5..f1e1dbc 100644 (file)
@@ -10,7 +10,7 @@
     <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>
index defa34d..7902160 100644 (file)
@@ -9,25 +9,25 @@
 <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>
 
@@ -57,9 +57,9 @@
               (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>
index 758c965..73cab3b 100644 (file)
@@ -2,7 +2,7 @@
     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>
@@ -86,7 +86,7 @@
     {{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'">
           &nbsp;<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>
index 40456d3..c45d199 100644 (file)
@@ -17,7 +17,7 @@
         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">
index 410280c..9873969 100644 (file)
@@ -83,7 +83,7 @@
       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">
@@ -99,7 +99,7 @@
 
 <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 &amp; Sort Options</span>
         <span *ngIf="!showFilterSort" i18n>Show Filter &amp; 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>
index cbbe010..4391fda 100644 (file)
@@ -4,24 +4,24 @@
   <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>
@@ -40,9 +40,9 @@
           </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>
index d4b7482..d83257c 100644 (file)
@@ -1,18 +1,18 @@
 <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>
index 7261e57..617c85d 100644 (file)
@@ -1,5 +1,5 @@
 <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>
index 2582d9d..9d52f0b 100644 (file)
@@ -1,14 +1,14 @@
 
 <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>
index 79a4f96..bc364ac 100644 (file)
@@ -2,7 +2,7 @@
 </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>
@@ -13,7 +13,7 @@
   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>
index 9ecff20..696136d 100644 (file)
@@ -7,12 +7,12 @@
 
 <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>
index b122961..da025b1 100644 (file)
@@ -4,14 +4,14 @@
   <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>
@@ -25,9 +25,9 @@
           <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>
index d903617..02907b6 100644 (file)
@@ -1,5 +1,5 @@
 <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>
index 8d344b3..bc3c72e 100644 (file)
           <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>
index ee7f7c6..65f4a8f 100644 (file)
@@ -1,4 +1,4 @@
-<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">
@@ -14,7 +14,7 @@
       </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>
@@ -62,7 +62,7 @@
   </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>
index 30fa372..92d41ce 100644 (file)
   </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>
index 48a0883..5ce3c98 100644 (file)
@@ -1,7 +1,7 @@
 <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>
index 6d7ed1f..17ab1cc 100644 (file)
   <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>
index 54395cb..e1d7a57 100644 (file)
@@ -1,12 +1,12 @@
 <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>
@@ -40,7 +40,7 @@
         </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"/>
index b78a9cc..267f014 100644 (file)
@@ -2,7 +2,7 @@
 </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">
index 2b29dc1..1a4d87e 100644 (file)
@@ -3,7 +3,7 @@
 
 <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)}">
@@ -25,7 +25,7 @@
         <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>
@@ -40,7 +40,7 @@
         <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>
index 00f60f2..eb98caf 100644 (file)
@@ -13,7 +13,7 @@
   <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">
index 7225ac4..5e9e998 100644 (file)
@@ -3,7 +3,7 @@
 
 <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}}">
index 378bfa3..cd5eecf 100644 (file)
@@ -5,29 +5,29 @@
 
 <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>
index 7f74dc1..195255c 100644 (file)
 </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>
index 0310f2c..e9edaf2 100644 (file)
@@ -15,7 +15,7 @@
       (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>
index 2a12e0a..69995ce 100644 (file)
@@ -3,7 +3,7 @@
 
 <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"
index 5967c53..eec119e 100644 (file)
@@ -30,7 +30,7 @@
   <ng-template #revertTemplate let-log="row">
       <span>
         <a
-          (click)="revert(log)" class="pl-1"
+          (click)="revert(log)" class="ps-1"
           [routerLink]="" i18n>
           Revert
         </a>
index e09bdcf..b472fbc 100644 (file)
             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>
@@ -82,7 +82,7 @@
 <ng-template #historyCellTemplate let-entry="row">
   <span>
     <a
-      (click)="showHistoryDialog(entry)" class="pl-1"
+      (click)="showHistoryDialog(entry)" class="ps-1"
       [routerLink]="" i18n>
       History
     </a>
index ad1f014..5e84926 100644 (file)
@@ -10,7 +10,7 @@
     </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"
@@ -19,7 +19,7 @@
             </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"
@@ -28,7 +28,7 @@
             </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"
index 8dcc5b6..6aeecb2 100644 (file)
@@ -1,5 +1,5 @@
 <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}}" /> 
index cf4e119..9f520b4 100644 (file)
@@ -46,7 +46,7 @@
       <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>
index b3d5895..473fef3 100644 (file)
                         <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>
@@ -68,7 +68,7 @@
                             [(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
@@ -86,7 +86,7 @@
                         [(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>
index 6084e2c..ceef997 100644 (file)
@@ -21,7 +21,7 @@
                 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()">&#8592; Back to Notifications/Action Triggers</button>
+                <button class="btn btn-outline-dark me-3" (click)="back()">&#8592; Back to Notifications/Action Triggers</button>
             </div>
     </ng-template>
     </li>
@@ -95,7 +95,7 @@
             <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">
index 84f9418..ad8d1c3 100644 (file)
 <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>
@@ -31,7 +31,7 @@
     <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
@@ -39,7 +39,7 @@
   </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>
@@ -47,7 +47,7 @@
     
     <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>
index 0562f1c..670fbc1 100644 (file)
@@ -1,4 +1,4 @@
-<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
index 55b02b7..482ed38 100644 (file)
@@ -4,7 +4,7 @@
 
 <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>
index 9a0ceac..f8c745d 100644 (file)
@@ -25,7 +25,7 @@
           <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>
 
index 7ee805d..10351a0 100644 (file)
@@ -39,9 +39,9 @@
           <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>
@@ -50,7 +50,7 @@
         <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>
@@ -58,7 +58,7 @@
         <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>
@@ -66,7 +66,7 @@
         <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>
@@ -75,7 +75,7 @@
           <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>
@@ -84,7 +84,7 @@
         <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>
@@ -92,7 +92,7 @@
         <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>
index 4a0f24f..a372bc3 100644 (file)
@@ -67,7 +67,7 @@
         <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>
index 02d045f..dae782c 100644 (file)
                 <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>
@@ -79,7 +79,7 @@
               <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>
@@ -87,7 +87,7 @@
               <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>
@@ -95,7 +95,7 @@
               <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>
index 81a8879..f12624e 100644 (file)
           <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>
@@ -97,7 +97,7 @@
         <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>
index d4a7fa8..4d8e2ec 100644 (file)
@@ -11,7 +11,7 @@
   </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"
@@ -29,7 +29,7 @@
       </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"
@@ -37,7 +37,7 @@
       </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"
@@ -49,7 +49,7 @@
       </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()"
@@ -64,7 +64,7 @@
       <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">
@@ -94,7 +94,7 @@
     <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
index 6dc79b5..bdf3809 100644 (file)
       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>
index 2d77dd4..df3eb9a 100644 (file)
@@ -6,7 +6,7 @@
     <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>
index b19e0d7..0550ce0 100644 (file)
@@ -37,7 +37,7 @@
       <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>
index 5ededca..129063e 100644 (file)
@@ -5,9 +5,9 @@
     <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>
@@ -52,7 +52,7 @@
       </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>
@@ -86,7 +86,7 @@
           <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>
@@ -96,7 +96,7 @@
         <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"
index b6fb361..9cbf2ba 100644 (file)
       </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>
index 02f065f..557c21f 100644 (file)
@@ -13,7 +13,7 @@
 </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>
index 049e620..ec46f7d 100644 (file)
 
 <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>
index 545a2ac..67b748c 100644 (file)
@@ -1,4 +1,4 @@
-<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">
index f60638d..279d7ff 100644 (file)
@@ -1,17 +1,17 @@
 <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>
index a4fa5a7..0c46df7 100644 (file)
@@ -94,7 +94,7 @@
 </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) ? '*' : ''}}
index c13c323..d645b19 100644 (file)
@@ -29,7 +29,7 @@
           <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>
index f6bb854..9475c4a 100644 (file)
               [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>
 
index 0747700..08988d4 100644 (file)
 
 <!-- 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>
@@ -81,7 +81,7 @@
 
   <!-- 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"
index 0e9142d..e8fb0d5 100644 (file)
@@ -22,7 +22,7 @@
 <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>&nbsp;</label></div>
+    <div><label class="fw-bold" i18n>&nbsp;</label></div>
     <button class="btn btn-sm btn-outline-dark label-with-material-icon" 
       (click)="toggleBatchVisibility()">
       <span i18n>Batch Actions</span>
@@ -31,7 +31,7 @@
   </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"
@@ -43,7 +43,7 @@
   </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"
@@ -55,7 +55,7 @@
   </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>
@@ -70,7 +70,7 @@
   </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"
@@ -81,7 +81,7 @@
     </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()">
@@ -99,7 +99,7 @@
 
 <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>
index 5715df4..6bec2d0 100644 (file)
@@ -61,7 +61,7 @@
     <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')">
@@ -97,7 +97,7 @@
         <button class="btn btn-outline-dark" (click)="save(false, true)" 
           [ngClass]="{'border-danger': isNotSaveable()}"
           [disabled]="isNotSaveable()" i18n>Apply All &amp; 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 &amp; Exit</button>
       </div>
index baf2814..61cfe42 100644 (file)
@@ -4,7 +4,7 @@
 <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}" 
@@ -14,7 +14,7 @@
       </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>
index e75bcfb..748e079 100644 (file)
@@ -29,7 +29,7 @@
   <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>
 
@@ -77,7 +77,7 @@
   <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>
 
index 5ad2c00..e19ae98 100644 (file)
@@ -29,7 +29,7 @@
     <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>
 
@@ -40,7 +40,7 @@
           <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())}}
@@ -58,7 +58,7 @@
                 </a>
               </div>
             </div>
-            <div class="ml-2">
+            <div class="ms-2">
               <img src="/opac/extras/ac/jacket/small/r/{{callNumber._bibSummary.id}}"/>
             </div>
           </div>
@@ -71,7 +71,7 @@
     <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>
index 3537c85..f3c1b48 100644 (file)
@@ -84,7 +84,7 @@
             </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>
index abe932c..58e2313 100644 (file)
@@ -7,7 +7,7 @@
 
 <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>
@@ -28,7 +28,7 @@
 
 <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>
@@ -48,7 +48,7 @@
 
 <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>
@@ -69,7 +69,7 @@
 
 <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>
index 8278f55..8e20bce 100644 (file)
 <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">
@@ -50,7 +50,7 @@
     </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">
@@ -84,7 +84,7 @@
     </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">
index 9199bd9..4f9c920 100644 (file)
@@ -17,7 +17,7 @@
     <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>
index b926b5a..166d71d 100644 (file)
 <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>
index db7cc0c..e249057 100644 (file)
@@ -19,9 +19,9 @@
 <!-- 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. -->
index f0428fa..a6f9fd3 100644 (file)
@@ -14,7 +14,7 @@
     <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>
index 8d592da..1a49716 100644 (file)
@@ -11,7 +11,7 @@
     <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">
@@ -27,7 +27,7 @@
           <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>
@@ -39,7 +39,7 @@
             <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>
index fa33c54..445824a 100644 (file)
@@ -7,13 +7,13 @@
            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)">
@@ -68,8 +68,8 @@
             <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>
index 5769054..f4689dd 100644 (file)
       <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>
index 124985d..0e5da37 100644 (file)
     <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>&nbsp; or &nbsp;</span>
             <a routerLink="/staff/catalog/search" queryParamsHandling="merge"
index 2698bef..21f6123 100644 (file)
@@ -65,7 +65,7 @@
       <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>
index 4542213..541cf30 100644 (file)
     <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>
@@ -98,7 +98,7 @@
       </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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.no_precat_alert" 
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</span>
             <span i18n>Ignore Pre-cataloged Items</span>
           </a>
           <a ngbDropdownItem (click)="toggleMod('noop')">
             <span *ngIf="modifiers.noop" 
-              class="badge badge-success mr-2">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.noop" 
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.void_overdues"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.auto_print_holds_transits"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.clear_expired"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.retarget_holds"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.retarget_holds_all"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.hold_as_transit"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.manual_float"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</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">&#x2713;</span>
+              class="rounded-pill bg-success me-2">&#x2713;</span>
             <span *ngIf="!modifiers.do_inventory_update"
-              class="badge badge-warning mr-2">&#x2717;</span>
+              class="rounded-pill bg-warning me-2">&#x2717;</span>
             <span i18n>Update Inventory</span>
           </a>
         </div>
index 7c69a7b..70eb6de 100644 (file)
@@ -11,9 +11,9 @@
   </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>
index bbaa34c..73d3745 100644 (file)
                 <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>
index 761c6c5..f60bdab 100644 (file)
           </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>
index 9f3baf4..fd9ff41 100644 (file)
 
 <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">
@@ -64,7 +64,7 @@
       </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>
@@ -79,7 +79,7 @@
       </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">&nbsp;</div>
         <div class="flex-1">&nbsp;</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>
index 170562a..42ad498 100644 (file)
@@ -45,7 +45,7 @@
     </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">&#x2713;</span>  
+            class="rounded-pill bg-success">&#x2713;</span>  
           <span *ngIf="dueDateOptions === 0" 
-            class="badge badge-warning">&#x2717;</span> 
-          <span class="pl-2" i18n>Specific Due Date</span>
+            class="rounded-pill bg-warning">&#x2717;</span> 
+          <span class="ps-2" i18n>Specific Due Date</span>
         </button>
         <button ngbDropdownItem (click)="toggleDateOptions(2)">
           <span *ngIf="dueDateOptions === 2" 
-            class="badge badge-success">&#x2713;</span>  
+            class="rounded-pill bg-success">&#x2713;</span>  
           <span *ngIf="dueDateOptions < 2" 
-            class="badge badge-warning">&#x2717;</span> 
-          <span class="pl-2" i18n>Specific Due Date Until Logout</span>
+            class="rounded-pill bg-warning">&#x2717;</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
index d71a1b6..bef947c 100644 (file)
@@ -1,14 +1,14 @@
 <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 &amp; Clone</button>
     </div>
@@ -29,7 +29,7 @@
 
 <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()}}
@@ -40,7 +40,7 @@
 
 <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" 
index 255f463..780555c 100644 (file)
@@ -42,7 +42,7 @@
 </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>
@@ -91,7 +91,7 @@
   <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>
index d1950d3..4a24f69 100644 (file)
 <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>
 
index ed7fbec..e337889 100644 (file)
 
         <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'">
@@ -66,7 +66,7 @@
     <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>
index e0e9a90..41a178d 100644 (file)
     <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>
index 8176857..e11ecf2 100644 (file)
 
       <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)"/>
@@ -58,7 +58,7 @@
             </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)"/>
index 1f2e7de..f13447a 100644 (file)
@@ -16,8 +16,8 @@
     </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">
index d359718..c601ced 100644 (file)
@@ -1,14 +1,14 @@
 
 
-<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>
index a139879..4dc55f0 100644 (file)
@@ -4,9 +4,9 @@
   <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">
index fd458d4..7eee554 100644 (file)
@@ -29,7 +29,7 @@
 
     <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"/>
index 726aa61..16837dc 100644 (file)
@@ -27,7 +27,7 @@
       </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)"
index 5a0faff..3f06ec0 100644 (file)
@@ -43,7 +43,7 @@
   </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">
index 360d797..f050334 100644 (file)
   <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>
@@ -55,7 +55,7 @@
   <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>
index 6127891..b5c8dea 100644 (file)
 <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>
index 817a018..15248f8 100644 (file)
@@ -32,7 +32,7 @@
       <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>
index 99aebdb..76b092a 100644 (file)
@@ -1,17 +1,17 @@
 
 <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>
@@ -34,7 +34,7 @@
 
     <!-- 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>
index be33f11..d55eaba 100644 (file)
@@ -23,7 +23,7 @@
         <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)"
@@ -44,7 +44,7 @@
         <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..."
@@ -59,7 +59,7 @@
             </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..."
@@ -74,7 +74,7 @@
         <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"/>
index ea3c8ec..c8719f6 100644 (file)
       </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>
index 357985d..00173a7 100644 (file)
       <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>
index ba5e812..258a4cb 100644 (file)
@@ -9,7 +9,7 @@
     </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>
 
index 77d238c..22f3a65 100644 (file)
@@ -24,7 +24,7 @@
     </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()}}&nbsp;{{
                        checkin.volume.label()}}&nbsp;{{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>
index 39065fb..73a7052 100644 (file)
@@ -1,6 +1,6 @@
 
 <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>
@@ -22,7 +22,7 @@
       </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>
@@ -52,7 +52,7 @@
             <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>
@@ -62,8 +62,8 @@
     <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>
index 633a728..990dca3 100644 (file)
@@ -68,7 +68,7 @@
         {{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>
@@ -92,7 +92,7 @@
 
   </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>
index 92f59ef..b351d0d 100644 (file)
@@ -74,7 +74,7 @@
             [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>
index 2c89c9f..34f545f 100644 (file)
@@ -72,6 +72,6 @@
   </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>
index dc6658a..7b42aee 100644 (file)
@@ -67,6 +67,6 @@
   </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>
index 07e5c52..3d3527c 100644 (file)
@@ -14,7 +14,7 @@
   <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>
@@ -47,7 +47,7 @@
           <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>
index 8bca301..7d2b051 100644 (file)
@@ -18,7 +18,7 @@
     <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>
@@ -32,7 +32,7 @@
       </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>
index ea01690..9624cbc 100644 (file)
@@ -9,7 +9,7 @@
   <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>
index 1e80c95..853ed93 100644 (file)
       <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>
index b33c09f..c3aa59b 100644 (file)
@@ -31,7 +31,7 @@
     <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>
index 6588dbe..4b3a370 100644 (file)
@@ -19,7 +19,7 @@
     <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>
index a3a0df2..c30b2c5 100644 (file)
@@ -14,7 +14,7 @@
 <!-- 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'">
@@ -39,7 +39,7 @@
   </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>
@@ -71,9 +71,9 @@
       <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">
index 62b84a9..18887e4 100644 (file)
 
   <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..."
@@ -56,7 +56,7 @@
     </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>
index fa11fef..da7bdf7 100644 (file)
@@ -3,7 +3,7 @@
 
   <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>
index e42517a..b4d297a 100644 (file)
 
   <!-- 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 -->
@@ -48,7 +48,7 @@
   </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
index 9010e4c..e1aa01d 100644 (file)
@@ -17,7 +17,7 @@
 
     <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"
@@ -32,7 +32,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" 
@@ -48,7 +48,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="loginType" i18n>Login Type</label>
         <select 
           class="form-control col-lg-7" 
@@ -67,6 +67,6 @@
   </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>
index ca82d47..56b2a42 100644 (file)
     </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>
index 9a5dfec..4e2c2ae 100644 (file)
@@ -6,36 +6,36 @@
 
 <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"
index 5971bac..07e9b4f 100644 (file)
@@ -3,7 +3,7 @@
 
   <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>