blob: 004138da4faa3d2f6228313eccf65fad826a52d9 [file] [log] [blame]
<!-- /********************************************************************************
* Copyright (c) 2020 Contributors to the Eclipse Foundation
*
* See the NOTICE file(s) distributed with this work for additional
* information regarding copyright ownership.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
********************************************************************************/ -->
<app-card-layout>
<div header>
<span>{{ 'Internal.Title' | translate }}</span>
</div>
<div class="contacts-grid-wrapper" body>
<form [ngrxFormState]="internalPersonSandBox.internalPersonDetailsFormState$ | async">
<div>
<!-- firstName -->
<div class="form-group row">
<label for="firstName" class="col-sm-2 col-form-label">{{ 'Internal.FirstName' | translate }}</label>
<div class="col-sm-4">
<input
type="text"
maxlength="255"
class="form-control"
id="firstName"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['firstName']"
autocomplete="off"
/>
</div>
</div>
<!-- lastName -->
<div class="form-group row">
<label for="lastName" class="col-sm-2 col-form-label">{{ 'Internal.LastName' | translate }}</label>
<div class="col-sm-4">
<input
required
type="text"
maxlength="255"
class="form-control"
id="lastName"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['lastName']"
autocomplete="off"
/>
</div>
</div>
<!-- title -->
<div class="form-group row">
<label for="title" class="col-sm-2 col-form-label">{{ 'Internal.PersonTitle' | translate }}</label>
<div class="col-sm-4">
<input
type="text"
maxlength="255"
class="form-control"
id="title"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['title']"
autocomplete="off"
/>
</div>
</div>
<!-- salutation -->
<div class="form-group row">
<label for="salutationType" class="col-sm-2 col-form-label">{{ 'Internal.Salutation' | translate }}</label>
<div class="col-sm-4">
<select type="text" class="form-control" [ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['salutationId']">
<option [value]="">{{ 'SelectOption' | translate }}</option>
-->
<option *ngFor="let salutation of internalPersonSandBox.salutations$ | async" [value]="salutation.id">{{ salutation.type }}</option>
</select>
</div>
</div>
<!-- personType -->
<div class="form-group row">
<label for="personType" class="col-sm-2 col-form-label">{{ 'Internal.PersonType' | translate }}</label>
<div class="col-sm-4">
<select
type="text"
class="form-control"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['personTypeId']">
<option [value]="">{{ 'SelectOption' | translate }}</option>
<option *ngFor="let personType of internalPersonSandBox.personTypes$ | async" [value]="personType.id">{{personType.type}}</option>
</select>
</div>
</div>
<!-- Uid -->
<div class="form-group row">
<label for="uid" class="col-sm-2 col-form-label">{{ 'Internal.Uid' | translate }}</label>
<div class="col-sm-4">
<input
type="text"
maxlength="255"
class="form-control"
id="uid"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['uid']"
autocomplete="off"
/>
</div>
</div>
<!-- Userref -->
<div class="form-group row">
<label for="userRef" class="col-sm-2 col-form-label">{{ 'Internal.Userref' | translate }}</label>
<div class="col-sm-4">
<input
type="text"
maxlength="255"
class="form-control"
id="userRef"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['userRef']"
autocomplete="off"
/>
</div>
</div>
<!-- Department -->
<div class="form-group row">
<label for="department" class="col-sm-2 col-form-label">{{ 'Internal.Department' | translate }}</label>
<div class="col-sm-4">
<input
type="text"
maxlength="255"
class="form-control"
id="department"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['department']"
autocomplete="off"
/>
</div>
</div>
<!-- contactNote -->
<div class="form-group row">
<label for="contactNote" class="col-sm-2 col-form-label">{{ 'Internal.Note' | translate }}</label>
<div class="col-sm-4">
<input
type="text"
maxlength="255"
class="form-control"
id="contactNote"
[ngrxFormControlState]="((internalPersonSandBox.internalPersonDetailsFormState$ | async)?.controls)['contactNote']"
autocomplete="off"
/>
</div>
</div>
<!-- buttons -->
<button type="button" class="btn btn-success" (click)="internalPersonSandBox.persistInternalPerson()">{{ 'SaveBtn' | translate }}</button>
<button type="button" class="btn btn-primary cancel-button" routerLink="/overview">
{{ 'CancelBtn' | translate }}
</button>
</div>
</form>
<app-expandable class="expandable-address" *ngIf="isExpandableVisible" >
<span header>{{ 'Contacts.AddressList' | translate }}</span>
<div class="expandable-body-container" body>
<div class="table-detail-view-address" *ngIf="internalPersonSandBox.isAddressDataDetailViewVisible">
<app-internal-person-address-details [createOrEditAddressData]="createOrEditAddressData"></app-internal-person-address-details>
</div>
<div class="table-view-address">
<app-internal-person-address-list (internalPersonDetailsId)="loadAddressDetail($event)" (createNewInternalPerson)="loadAddressDetail($event)"></app-internal-person-address-list>
</div>
</div>
</app-expandable>
<app-expandable class="expandable-communication" *ngIf="isExpandableVisible">
<span header>{{ 'Contacts.CommunicationsDataList' | translate }}</span>
<div class="expandable-body-container" body>
<div class="table-detail-view-communication" *ngIf="internalPersonSandBox.isCommunicationsDataDetailViewVisible">
<app-internal-person-communications-data-details [createOrEditCommunicationsData]="createOrEditCommunicationsData"></app-internal-person-communications-data-details>
</div>
<div class="table-view-communication">
<app-internal-person-communications-data-list (internalPersonDetailsId)="loadCommunicationsDataDetail($event)" (createNewInternalPerson)="loadCommunicationsDataDetail($event)"></app-internal-person-communications-data-list>
</div>
</div>
</app-expandable>
</div>
</app-card-layout>