]> git.evergreen-ils.org Git - Evergreen.git/blob - Open-ILS/src/eg2/src/app/staff/admin/local/admin-carousel.component.html
LP2045292 Color contrast for AngularJS patron bills
[Evergreen.git] / Open-ILS / src / eg2 / src / app / staff / admin / local / admin-carousel.component.html
1 <eg-title i18n-prefix prefix="{{classLabel}} Administration">
2 </eg-title>
3 <eg-staff-banner bannerText="{{classLabel}} Configuration" i18n-bannerText>
4 </eg-staff-banner>
5
6 <ng-template #successStrTmpl i18n>{{idlClassDef.label}} Update Succeeded</ng-template>
7 <eg-string #successString [template]="successStrTmpl"></eg-string>
8
9 <ng-template #updateFailedStrTmpl i18n>Update of {{idlClassDef.label}} failed</ng-template>
10 <eg-string #updateFailedString [template]="updateFailedStrTmpl"></eg-string>
11
12 <ng-template #deleteFailedStrTmpl i18n>Delete of carousel failed or was not allowed</ng-template>
13 <eg-string #deleteFailedString [template]="deleteFailedStrTmpl"></eg-string>
14
15 <ng-template #deleteSuccessStrTmpl i18n>Carousel Successfully Deleted</ng-template>
16 <eg-string #deleteSuccessString [template]="deleteSuccessStrTmpl"></eg-string>
17
18 <ng-template #createStrTmpl i18n>{{idlClassDef.label}} Successfully Created</ng-template>
19 <eg-string #createString [template]="createStrTmpl"></eg-string>
20
21 <ng-template #createErrStrTmpl i18n>Failed to create new {{idlClassDef.label}}</ng-template>
22 <eg-string #createErrString [template]="createErrStrTmpl"></eg-string>
23
24 <ng-template #refreshStrTmpl i18n let-name="name">{{name}} is being refreshed. It may take a couple minutes.</ng-template>
25 <eg-string #refreshString [template]="refreshStrTmpl"></eg-string>
26
27 <ng-template #refreshErrStrTmpl i18n let-name="name">{{name}} is manual and cannot be refreshed automatically.</ng-template>
28 <eg-string #refreshErrString [template]="refreshErrStrTmpl"></eg-string>
29
30 <eg-confirm-dialog #delConfirm
31   i18n-dialogTitle i18n-dialogBody
32   dialogTitle="Delete?"
33   dialogBody="Delete carousel?">
34 </eg-confirm-dialog>
35
36 <ng-container *ngIf="orgField">
37   <eg-org-family-select
38     ariaLabel="Org Unit" i18n-ariaLabel
39     [limitPerms]="viewPerms"
40     [selectedOrgId]="contextOrg.id()"
41     [(ngModel)]="searchOrgs"
42     (ngModelChange)="grid.reload()">
43   </eg-org-family-select>
44   <hr/>
45 </ng-container>
46
47 <!-- idlObject and fieldName applied programmatically -->
48 <eg-translate #translator></eg-translate>
49
50 <eg-grid #grid idlClass="{{idlClass}}" [dataSource]="dataSource" 
51     [sortable]="true" persistKey="{{persistKey}}"
52     [cellTextGenerator]="cellTextGenerator"
53     (onRowActivate)="showEditDialog($event)"
54     [stickyHeader]="true">
55   <eg-grid-toolbar-button [disabled]="!canCreate" 
56     label="New {{idlClassDef.label}}" i18n-label [action]="createNew">
57   </eg-grid-toolbar-button>
58   <eg-grid-toolbar-button [disabled]="translatableFields.length === 0" 
59     label="Apply Translations" i18n-label [action]="translate">
60   </eg-grid-toolbar-button>
61   <eg-grid-toolbar-action label="Edit Selected" i18n-label [action]="editSelected">
62   </eg-grid-toolbar-action>
63   <eg-grid-toolbar-action label="Delete Selected" i18n-label [action]="deleteSelected">
64   </eg-grid-toolbar-action>
65   <eg-grid-toolbar-action label="Refresh Selected" i18n-label [action]="refreshSelected">
66   </eg-grid-toolbar-action>
67   <ng-template #recordBucketTmpl let-carousel="row">
68     <a href="/eg/staff/cat/bucket/record/view/{{carousel.bucket().id()}}" target="_blank">
69         {{carousel.bucket().name()}}
70     </a>
71   </ng-template>
72   <eg-grid-column path="bucket" i18n-label label="Bucket" [cellTemplate]="recordBucketTmpl"></eg-grid-column>
73   <eg-grid-column path="creator" [hidden]="true"></eg-grid-column>
74   <eg-grid-column path="editor" [hidden]="true"></eg-grid-column>
75   <eg-grid-column path="create_time" [hidden]="true"></eg-grid-column>
76   <eg-grid-column path="edit_time" [hidden]="true"></eg-grid-column>
77   <eg-grid-column path="last_refresh_time" [datePlusTime]="true"></eg-grid-column>
78   <eg-grid-column path="age_filter" [hidden]="true"></eg-grid-column>
79   <eg-grid-column path="owning_lib_filter" [hidden]="true"></eg-grid-column>
80   <eg-grid-column path="copy_location_filter" [hidden]="true"></eg-grid-column>
81 </eg-grid>
82
83 <ng-template #bucketTemplate
84     let-field="field" let-record="record">
85   <span *ngIf="record[field.name]()">
86     <a href="/eg/staff/cat/bucket/record/view/{{record[field.name]()}}" target="_blank" i18n>Link to bucket</a>
87     <span *ngIf="record['type']() !== 1" i18n style="font-style: italic"> (Note: changes to bucket contents may be overwritten by the next carousel update.)</span>
88   </span>
89 </ng-template>
90
91 <ng-template #locationTemplate
92     let-field="field" let-record="record">
93   <eg-multi-select idlClass="acpl" linkedLibraryLabel="owning_lib"
94                    [startValue]="record['copy_location_filter']()"
95                    (onChange)="record['copy_location_filter']($event)">
96   </eg-multi-select>
97 </ng-template>
98 <ng-template #orgTemplate
99     let-field="field" let-record="record">
100   <eg-multi-select idlClass="aou"
101                    [startValue]="record['owning_lib_filter']()"
102                    (onChange)="record['owning_lib_filter']($event)">
103   </eg-multi-select>
104 </ng-template>
105
106 <eg-fm-record-editor #editDialog idlClass="{{idlClass}}" 
107     [preloadLinkedValues]="true"
108     fieldOrder="owner,name,type,age_filter,max_items,owning_lib_filter,copy_location_filter,active,id,bucket,last_refresh_time,creator,create_time,editor,edit_time"
109     hiddenFieldsList="creator,editor,create_time,edit_time"
110     [preSave]="mungeCarousel" (recordSaved)="postSave($event)"
111     readonlyFields="last_refresh_time"
112     [fieldOptions]="{bucket:{customTemplate:{template:bucketTemplate}},copy_location_filter:{customTemplate:{template:locationTemplate}},owning_lib_filter:{customTemplate:{template:orgTemplate}}}"
113 ></eg-fm-record-editor>
114