<!-------------------------------------------------------------------------------
 * 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-card *ngIf="appItem"
          [appCardHeader]="headerActions"
          [appTitle]="appItem?.id + ' ' + appItem?.title">

  <ng-template #headerActions>
    <span class="dashboard-item-header-actions">
      <a [queryParams]="{id: appItem?.id}" class="openk-button openk-button-rounded openk-info" routerLink="/details">
        <mat-icon>find_in_page</mat-icon>
      </a>

      <button class="openk-button openk-button-rounded openk-info" disabled>
        <mat-icon>create</mat-icon>
      </button>
    </span>
  </ng-template>

  <span *ngFor="let obj of appItem | objToArray">
    {{obj.key}}: {{obj.value}}
  </span>

</app-card>
