1 <ng-template #dialogContent>
2 <div class="modal-header">
3 <h3 *ngIf="mode === 'create'" class="modal-title" i18n>New Distribution Formula</h3>
4 <h3 *ngIf="mode === 'update'" class="modal-title" i18n>Modify Distribution Formula</h3>
5 <h3 *ngIf="mode === 'clone'" class="modal-title" i18n>Clone Distribution Formula (from {{clonedLabel}})</h3>
6 <button type="button" class="btn-close btn-close-white"
7 i18n-aria-label aria-label="Close" (click)="close()"></button>
9 <div class="modal-body">
10 <form #myForm="ngForm" class="form-validated">
11 <div class="form-group row mt-2" *ngIf="formula">
12 <label for="formula-name" class="form-label col-sm-1 col-form-label" i18n>Formula Name
14 <div class="col-sm-2">
15 <input class="form-control" type="text" id="formula-name"
16 required="required" pattern="[\s\S]*\S[\s\S]*"
17 [ngModel]="formula.name()" name="name"
18 (ngModelChange)="formula.name($event)">
20 <label for="formula-owner" class="form-label col-sm-1 col-form-owner" i18n>Formula Owner
22 <div class="col-sm-2">
24 placeholder="Owner..."
27 [applyOrgId]="formula.owner()"
28 [limitPerms]="['ADMIN_ACQ_DISTRIB_FORMULA']"
29 (onChange)="formula.owner($event); myForm.form.markAsDirty()">
33 <div class="row mt-2">
34 <div class="col-sm-1"></div>
35 <div class="col-sm-1" i18n>Owning Library</div>
36 <div class="col-sm-2" i18n>Shelving Location</div>
37 <div class="col-sm-2" i18n>Fund</div>
38 <div class="col-sm-2" i18n>Circ Modifier</div>
39 <div class="col-sm-1" i18n>Collection Code</div>
40 <div class="col-sm-1" i18n>Item Count</div>
41 <div class="col-sm-1"></div>
43 <div class="form-group row mt-2" *ngFor="let entry of formula?.entries(); index as idx; last as isLast; first as isFirst; count as count">
44 <div class="col-sm-1">
45 <button *ngIf="!isLast" class="btn btn-sm material-icon-button" type="button"
46 (click)="removeRow(idx)" i18n-aria-label aria-label="Remove Entry"
47 i18n-title title="Remove Entry">
48 <span class="material-icons" aria-hidden="true">delete</span>
51 <div class="col-sm-1">
53 placeholder="Owning Library..."
55 ariaLabel="Owning Library..."
57 domId="entry-owning-lib-{{idx}}"
58 [applyOrgId]="entry.owning_lib()"
59 [limitPerms]="['ADMIN_ACQ_DISTRIB_FORMULA']"
60 (onChange)="entry.owning_lib($event); myForm.form.markAsDirty()">
63 <div class="col-sm-2">
64 <eg-item-location-select
65 permFilter="ADMIN_ACQ_DISTRIB_FORMULA" [contextOrgId]="entry.owning_lib()"
66 [ngModel]="entry.location()" name="location-{{idx}}"
67 (ngModelChange)="entry.location($event)"
68 (valueChange)="myForm.form.markAsDirty()">
69 </eg-item-location-select>
71 <div class="col-sm-2">
72 <eg-combobox i18n-placeholder placeholder="Fund..." idlClass="acqf"
73 [idlBaseQuery]="{'active':{'=':'t'}}"
74 id="entry-fund-{{idx}}"
75 [asyncSupportsEmptyTermClick]="true"
76 [selectedId]="entry.fund()"
78 (onChange)="entry.fund($event.id)">
81 <div class="col-sm-2">
82 <eg-combobox i18n-placeholder placeholder="Circ Modifier..." idlClass="ccm"
83 id="entry-circ_modifier-{{idx}}"
84 [asyncSupportsEmptyTermClick]="true"
85 [selectedId]="entry.circ_modifier()"
86 name="circ_modifier-{{idx}}"
87 (onChange)="entry.circ_modifier($event.id)">
90 <div class="col-sm-1">
91 <input class="form-control" type="text" i18n-placeholder placeholder="Collection Code..."
92 id="entry-collection-code-{{idx}}" pattern="[\s\S]*\S[\s\S]*"
93 [ngModel]="entry.collection_code()" name="collection_code-{{idx}}"
94 (ngModelChange)="entry.collection_code($event)">
96 <div class="col-sm-1">
97 <input class="form-control" type="number" min="0" pattern="^[0-9]+$"
98 [ngModel]="entry.item_count()" name="item_count-{{idx}}"
99 (ngModelChange)="entry.item_count($event)">
101 <div class="col-sm-1">
102 <button *ngIf="!isLast" class="btn btn-sm material-icon-button" type="button"
104 (click)="moveUp(idx)"
105 i18n-aria-label aria-label="Move Up"
106 i18n-title title="Move Up">
107 <span class="material-icons" aria-hidden="true">keyboard_arrow_up</span>
109 <button *ngIf="!isLast" class="btn btn-sm material-icon-button" type="button"
110 (click)="moveDown(idx)"
111 [disabled]="count < 3 || idx === count - 2"
112 i18n-aria-label aria-label="Move Down"
113 i18n-title title="Move Down">
114 <span class="material-icons" aria-hidden="true">keyboard_arrow_down</span>
116 <button *ngIf="isLast" type="button" class="btn btn-info" (click)="addRow()" i18n>Add</button>
121 <div class="modal-footer">
122 <button type="button" class="btn btn-info" [disabled]="!myForm?.valid || !(myForm?.dirty)"
123 (click)="save()" i18n>Save</button>
124 <button type="button" class="btn btn-normal"
125 (click)="close()" i18n>Cancel</button>
129 <ng-template #defaultCloneLabelTmpl i18n>{{clonedLabel}} (clone)</ng-template>
130 <eg-string #defaultCloneLabel [template]="defaultCloneLabelTmpl"></eg-string>