<!--
/********************************************************************************
 * Copyright © 2018 Mettenmeier GmbH.
 *
 * 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
 ********************************************************************************/
-->
<div class="modal-header">
  <h4 class="modal-title" id="modal-basic-title">Bereitschaft verschieben</h4>
  <button type="button" class="close" aria-label="Close" (click)="decide(false)" id="moveDialogClose">
    <span aria-hidden="true">&times;</span>
  </button>
</div>
<div class="modal-body">
  <form class="mt-3" [formGroup]="form" novalidate>
    <div class="row">
      <div class="col-md-9">
        <div class="form-group row d-flex align-items-center h-100">
          <label class="form-check-label col-form-label col-md-5">
            Von
          </label>
          <div class="input-group col-md-7">
            <input class="form-control" placeholder="von" name="dp" ngbDatepicker #validFrom="ngbDatepicker"
              formControlName="validFrom" required id="validityDateFromInput">
            <div class="input-group-append">
              <button class="btn btn-outline-secondary" (click)="validFrom.toggle()" type="button" id="validityDateFromPicker">
                <i class="fa fa-calendar" aria-hidden="true"></i>
              </button>
            </div>
            <div class="input-group-append">
              <button class="btn btn-outline-secondary" (click)="setDefaultDate('validFrom')" type="button" id="validityDateFromDefault"
                data-toggle="tooltip" data-placement="bottom" title="Auf Standardwert setzen">
                <i class="fa fa-clock-o" aria-hidden="true"></i>
              </button>
            </div>
          </div>
          <ok-error [control]="form.controls['validTo']"></ok-error>
        </div>
      </div>
      <div class="col-md-3">
        <ngb-timepicker formControlName="validFromTime" id="moveTimePickerFrom"></ngb-timepicker>
      </div>
    </div>
    <div class="row">
      <div class="col-md-9">
        <div class="form-group row d-flex align-items-center h-100">
          <label class="form-check-label col-form-label col-md-5">
            Bis
          </label>
          <div class="input-group col-md-7">
            <input class="form-control" placeholder="bis" name="dp" ngbDatepicker #validTo="ngbDatepicker"
              formControlName="validTo" required id="validityDateToInput">
            <div class="input-group-append">
              <button class="btn btn-outline-secondary" (click)="validTo.toggle()" type="button" id="validityDateToPicker">
                <i class="fa fa-calendar" aria-hidden="true"></i>
              </button>
            </div>
            <div class="input-group-append">
              <button class="btn btn-outline-secondary" (click)="setDefaultDate('validTo')" type="button" id="validityDateToDefault"
                data-toggle="tooltip" data-placement="bottom" title="Auf Standardwert setzen">
                <i class="fa fa-clock-o" aria-hidden="true"></i>
              </button>
            </div>
          </div>
        </div>
      </div>
      <div class="col-md-3">
        <ngb-timepicker formControlName="validToTime" id="moveTimePickerTo"></ngb-timepicker>
      </div>
    </div>
    <div class="row">
      <div class="col-md-9">
        <div class="form-group row">
          <label for="standbyGroupList" class="col-sm-5 col-form-label">Ziel Bereitschaftsgruppe</label>
          <div class="col-sm-7">
            <select class="form-control" id="standbyGroupList" formControlName="standbyGroupId" required>
              <option value=""></option>
              <option *ngFor="let standbyGroup of standbyGroupList" [value]="standbyGroup.id">{{standbyGroup.title}}</option>
            </select>
            <ok-error [control]="form.controls['standbyGroupId']"></ok-error>
          </div>
        </div>
      </div>
    </div>
  </form>
</div>
<div class="modal-footer">
  <button type="button" class="btn btn-success" (click)="decide(true)" id="validityConfirm">Verschieben</button>
  <button type="button" class="btn btn-danger" (click)="decide(false)" id="validityCancel">Abbrechen</button>
</div>