1 <ng-template #successStrTmpl i18n>{{idlClassDef.label}} Update Succeeded</ng-template>
2 <eg-string #successString [template]="successStrTmpl"></eg-string>
4 <ng-template #updateFailedStrTmpl i18n>Update of {{idlClassDef.label}} failed</ng-template>
5 <eg-string #updateFailedString [template]="updateFailedStrTmpl"></eg-string>
7 <ng-template #deleteFailedStrTmpl i18n>Delete of {{idlClassDef.label}} failed or was not allowed</ng-template>
8 <eg-string #deleteFailedString [template]="deleteFailedStrTmpl"></eg-string>
10 <ng-template #deleteSuccessStrTmpl i18n>{{idlClassDef.label}} Successfully Deleted</ng-template>
11 <eg-string #deleteSuccessString [template]="deleteSuccessStrTmpl"></eg-string>
13 <ng-template #createStrTmpl i18n>{{idlClassDef.label}} Successfully Created</ng-template>
14 <eg-string #createString [template]="createStrTmpl"></eg-string>
16 <ng-template #createErrStrTmpl i18n>Failed to create new {{idlClassDef.label}}</ng-template>
17 <eg-string #createErrString [template]="createErrStrTmpl"></eg-string>
19 <eg-string #cloneSuccessString i18n-text text="Portal Page Entries Cloning Succeeded"></eg-string>
20 <eg-string #cloneFailedString i18n-text text="Portal Page Entries Cloning Failed"></eg-string>
22 <eg-confirm-dialog #delConfirm
23 i18n-dialogTitle i18n-dialogBody
25 dialogBody="Delete staff portal page entry or entries?">
28 <eg-staff-banner bannerText="Staff Portal Page" i18n-bannerText></eg-staff-banner>
30 <eg-clone-portal-entries-dialog #cloneDialog></eg-clone-portal-entries-dialog>
32 <ng-container *ngIf="orgField || gridFilters">
34 <div class="col-lg-6">
35 <ng-container *ngIf="orgField">
37 ariaLabel="Org Unit" i18n-ariaLabel
38 [limitPerms]="viewPerms"
39 [selectedOrgId]="contextOrg.id()"
40 [ancestorSelectorChecked]="true"
41 [(ngModel)]="searchOrgs"
42 (ngModelChange)="grid.reload()">
43 </eg-org-family-select>
46 <div class="col-lg-6 d-flex">
47 <div class="flex-1"></div><!-- push right -->
48 <ng-container *ngIf="gridFilters">
49 <span i18n>Filters Applied: {{gridFilters | json}}</span>
50 <a class="ps-2 fst-italic"
51 [attr.href]="clearGridFiltersUrl()" i18n>Clear Filters</a>
58 <!-- idlObject and fieldName applied programmatically -->
59 <eg-translate #translator></eg-translate>
61 <ng-container *ngIf="helpTemplate">
62 <ng-container *ngTemplateOutlet="helpTemplate"></ng-container>
65 <ng-template #configFieldLink let-row="row" let-col="col">
66 <a i18n-title title="Link To {{col.label}}"
67 [attr.href]="configFieldLinkUrl(row, col)">{{configLinkLabel(row, col)}}</a>
70 <eg-grid #grid idlClass="{{idlClass}}" [dataSource]="dataSource" hideFields="{{hideGridFields}}"
71 [sortable]="true" persistKey="{{persistKey}}" autoGeneratedColumnOrder="{{fieldOrder}}"
73 (onRowActivate)="showEditDialog($event)"
74 [filterable]="true" [stickyHeader]="true">
75 <eg-grid-toolbar-button [disabled]="!canCreate"
76 label="New {{idlClassDef.label}}" i18n-label (onClick)="createNew()">
77 </eg-grid-toolbar-button>
78 <eg-grid-toolbar-button [disabled]="!canCreate"
79 label="Clone a Library's Portal Page Entries" i18n-label (onClick)="cloneEntries()">
80 </eg-grid-toolbar-button>
81 <eg-grid-toolbar-button [disabled]="translatableFields.length === 0"
82 label="Apply Translations" i18n-label (onClick)="translate()">
83 </eg-grid-toolbar-button>
84 <eg-grid-toolbar-action label="Edit Selected" i18n-label (onClick)="editSelected($event)">
85 </eg-grid-toolbar-action>
86 <eg-grid-toolbar-action label="Delete Selected" i18n-label (onClick)="deleteSelected($event)">
87 </eg-grid-toolbar-action>
88 <ng-container *ngFor="let cf of configFields">
89 <eg-grid-column name="{{cf.name}}" [cellTemplate]="configFieldLink">
94 <ng-template #textTemplate let-field="field" let-record="record">
97 id="{{idPrefix}}-{{field.name}}" name="{{field.name}}"
98 type="text" pattern="[\s\S]*\S[\s\S]*"
99 placeholder="{{field.label}}..." i18n-placeholder
100 [required]="field.isRequired()"
101 [ngModel]="record[field.name]()"
102 (ngModelChange)="record[field.name]($event)"></textarea>
105 <eg-fm-record-editor #editDialog idlClass="{{idlClass}}"
106 [fieldOptions]="fieldOptions"
107 [fieldOrder]="fieldOrder"
108 [defaultNewRecord]="defaultNewRecord"
109 [fieldOptions]="{entry_text:{customTemplate:{template:textTemplate}}}"
110 [preloadLinkedValues]="true"
111 [readonlyFields]="readonlyFields">
112 </eg-fm-record-editor>