<div class="col-lg-3">
<label for="{{idPrefix}}-{{field.name}}">{{field.label}}</label>
<eg-help-popover [placement]="'right'" *ngIf="field.helpText" helpText="{{field.helpTextValue}}"></eg-help-popover>
+ <ng-container *ngIf="isSafeToNull(field)">
+ <br />(<a (click)="setToNull(field)" href='javascript:;'><span i18n>Unset</span></a>)
+ </ng-container>
</div>
<div class="col-lg-9">
if (field.datatype === 'bool') {
if (rec[field.name]() === true) {
rec[field.name]('t');
- // } else if (rec[field.name]() === false) {
- } else { // TODO: some bools can be NULL
+ } else if (rec[field.name]() === false) {
rec[field.name]('f');
+ } else {
+ rec[field.name](null);
}
} else if (field.datatype === 'org_unit') {
const org = rec[field.name]();
}
);
}
+
+ isSafeToNull(field) {
+ if (field.datatype == 'id') {
+ return false;
+ }
+ if (field.readOnly) {
+ return false;
+ }
+ if (field.isRequired()) {
+ return false;
+ }
+ return true;
+ }
+
+ setToNull(field) {
+ this.record[field.name](null);
+ }
}
// https://stackoverflow.com/a/57812865