<!-------------------------------------------------------------------------------
 * 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 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0
 *
 * SPDX-License-Identifier: EPL-2.0
 -------------------------------------------------------------------------------->

<app-statement-information-side-menu
  (appSubmit)="submit($event)"
  [appDisabled]="appFormGroup.disabled"
  [appForNewStatement]="appForNewStatement"
  [appLoading]="isStatementLoading$ | async"
  [appErrorMessage]="(appError$ | async)?.errorMessage"
  [appMailId]="mailId"
  [appStatementId]="(task$ | async)?.statementId">
</app-statement-information-side-menu>

<div [formGroup]="appFormGroup" class="info-form">

  <app-collapsible
    [appTitle]="'statementInformationForm.container.general' | translate">

    <app-general-information-form-group
      [appSectors]="sectors$ | async"
      [appFormGroup]="appFormGroup"
      [appStatementTypeOptions]="statementTypeOptions$ | async">
    </app-general-information-form-group>

  </app-collapsible>

  <app-collapsible
    [appTitle]="'statementInformationForm.container.contact' | translate">

    <app-contact-select
      (appOpenContactModule)="openContactDataBaseModule()"
      (appPageChange)="changePage($event)"
      (appSearchChange)="search($event)"
      [appDetails]="selectedContact$ | async"
      [appEntries]="contactSearchContent$ | async"
      [appIsLoading]="(contactLoading$ | async)?.searching || (contactLoading$ | async)?.fetching"
      [appMessage]="'contacts.selectContact' | translate"
      [appPageSize]="(contactSearch$ | async)?.totalPages"
      [appPage]="(contactSearch$ | async)?.number"
      [formControlName]="'contactId'"
      [appSearch]="initialSearchText"
      class="form-control">
    </app-contact-select>

  </app-collapsible>

  <app-collapsible
    [appTitle]="'statementInformationForm.container.inboxAttachments' | translate">

    <app-attachments-form-group
      [appForbiddenTagIds]="appForbiddenTagIds"
      [appForNewStatement]="appForNewStatement"
      [appFormGroup]="appFormGroup | getFormGroup: 'attachments'"
      [appMailId]="mailId">
    </app-attachments-form-group>

  </app-collapsible>

  <ng-content></ng-content>

</div>
