<!-- ********************************************************************************
 * Copyright (c) 2015-2018 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
 *
 ******************************************************************************** -->

<table class="table table-bordered" style="table-layout: fixed;">
  <tr>
    <th class="col-lg-5" i18n="administration_preference Key|Key table header">Key</th>
    <th class="col-lg-7" i18n="administration_preference Value|Value">Value</th>
    <th style="width: 60px;"></th>
    <th style="width: 60px;"></th>
  </tr>
  <tr *ngFor="let preference of preferences">
    <td>
      <div id="truncatelongtexts">
        {{preference.key}}
      </div>
    </td>
    <td>
      <div id="truncatelongtexts">
        {{preference.value}}
      </div>
    </td>
    <td>
      <button type="button" class="btn btn-default" (click)="editPreference(preference)" title="{{ 'administration.preference.btn-tooltip-edit-preference' | translate }}">
		      <span class="fa fa-pencil-square-o"></span>
	    </button>
    </td>
    <td>
      <button type="button" class="btn btn-default" (click)="removePreference(preference)" title="{{ 'administration.preference.btn-tooltip-delete-preference' | translate }}">
		    <span class="fa fa-times"></span>
	    </button>
    </td>
  </tr>
</table>
<div class="col-lg-12">
  <button type="button" class="btn btn-default pull-right" (click)="editPreference()">
  	<span class="fa fa-plus"></span> {{'administration.preference.btn-add-preference' | translate }}
  </button>
</div>
<edit-preference [scope]="scope"></edit-preference>
