blob: fc935955ce4e0a4c22cbe2e9260ee457938bec85 [file] [log] [blame]
<!--********************************************************************************
* Copyright (c) 2015-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
*
********************************************************************************-->
<style>
:host /deep/ .dropdown {
width: 200px;
}
:host /deep/ .dropdown-toggle {
overflow: hidden;
padding-right: 24px/* Optional for caret */
;
text-align: left;
text-overflow: ellipsis;
width: 100%;
}
/* Optional for caret */
:host /deep/ .dropdown-toggle .caret {
position: absolute;
right: 12px;
top: calc(50% - 2px);
}
.ui-button-text {
padding: 0;
}
:host /deep/ .ui-splitbutton.ui-buttonset .ui-button {
color: black;
border: 1px solid #ccc;
font-size: 14px;
height: 37px;
background-color: transparent;
}
:host /deep/ .ui-splitbutton.ui-buttonset .ui-button:hover {
color: black;
background-color: #e6e6e6;
border-color: #adadad;
}
</style>
<div style="padding-top: 15px;">
<accordion>
<accordion-group #basketGroup [isOpen]="false">
<div accordion-heading class="thinheader container-fluid">
<div class="row">
<div class="col text-left">
{{'basket.mdm-basket.shopping-basket' | translate }} &nbsp;&nbsp;
<mdm-view (click)="onViewClick($event)"></mdm-view>
</div>
<div class="col text-right">
<button type="button" class="btn btn-mdm" (click)="clearBasket($event)" title="{{'basket.mdm-basket.tooltip-clear-shopping-basket' | translate }}"><span class="fa fa-eraser"></span></button>
<p-splitButton icon="fa fa-arrow-circle-o-down" class="dropdown" (onClick)="saveBasketWithExtension($event, 'mdm')" (onDropdownClick)="stopEvent($event)" title="{{'basket.mdm-basket.tooltip-download-shopping-basket' | translate }}" [model]="launchers" [disabled]="isDownloadDisabled()"></p-splitButton>
<div class="fileupload btn btn-mdm" title="{{'basket.mdm-basket.tooltip-upload-shopping-basket' | translate }}" (click)=onUploadClick($event)>
<span class="fa fa-arrow-circle-o-up"></span>
<input title="{{'basket.mdm-basket.tooltip-upload-shopping-basket' | translate }}" class="upload" name="datei" type="file" [accept]="allowedExtensions" id="fileInput" (change)="onUploadChange($event)">
</div>
<button type="button" type="submit" class="btn btn-mdm" (click)="showLoadModal($event)" title="{{'basket.mdm-basket.tooltip-open-shopping-basket' | translate }}"><span class="fa fa-folder-open"></span></button>
<button type="button" type="submit" class="btn btn-mdm btn-outline-secondary" (click)="showSaveModal($event)" title="{{'basket.mdm-basket.tooltip-save-shopping-basket' | translate }}"><span class="fa fa-floppy-o"></span></button>
&nbsp;&nbsp;
<span class="fa" [ngClass]="{'fa-chevron-down': basketGroup?.isOpen, 'fa-chevron-right': !basketGroup?.isOpen}"></span>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row">
<mdm-tableview [results]="basketContent"
[view]="viewComponent.selectedView"
isRemovable="true"
[menuItems]="contextMenuItems"
[selectedEnvs]="environments"
[environments]="environments">
</mdm-tableview>
</div>
</div>
</accordion-group>
</accordion>
</div>
<p-confirmDialog header="Information" icon="pi pi-exclamation-triangle" ></p-confirmDialog>
<div bsModal #lgLoadModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="SelectSearchComponents" aria-hidden="true" (keyup.enter)="loadBasket()">
<div class="modal-dialog modal-md">
<div class="modal-content">
<div class="modal-header">
<button type="button" title="{{ 'basket.mdm-basket.tooltip-close' | translate }}" class="close" (click)="childLoadModal.hide()" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">{{'basket.mdm-basket.load-shopping-basket' | translate }}</h4>
</div>
<div class="modal-body">
<div class="container-fluid">
<div class="row" *ngIf="baskets.length > 0">
<ul class="list-group" style="max-height:80vh; padding: 0; list-style-type: none; overflow-y:auto;">
<div style="display: table; width: 100%; border: 1px solid #ddd;">
<li class="list-group-item" *ngFor="let basket of baskets" [ngClass]="{'active': selectedBasket == basket}" (click)="toggleSelect(basket)" (dblclick)="loadBasket(basket)" style="cursor: pointer">
{{basket.name}}<span class="badge">{{basket.items.length}}</span>
</li>
</div>
</ul>
</div>
<div class="row" *ngIf="baskets.length === 0">
{{'basket.mdm-basket.no-saved-shopping-baskets-available' | translate }}
</div>
<div class="row" style="margin-top: 20px;">
<button type="button" class="btn btn-outline-secondary pull-right" (click)="loadBasket()" [disabled]="baskets.length <= 0 || selectedBasket == undefined">
<span class="fa fa-upload"></span> {{'basket.mdm-basket.btn-load' | translate }}
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div bsModal #lgSaveModal="bs-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="SelectSearchComponents" aria-hidden="true">
<div class="modal-dialog modal-md">
<div class="modal-content">
<div class="modal-header">
<button type="button" title="{{'basket.mdm-basket.close' | translate }}" class="close" (click)="childSaveModal.hide()" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title">{{'basket.mdm-basket.save-basket-as' | translate }}:</h4>
</div>
<div class="modal-body">
<div class="container-fluid">
<div class="row" *ngIf="baskets.length > 0">
<p-dataTable
[value]="baskets"
resizableColumns="false"
[reorderableColumns]="false"
[rows]="10"
[paginator]="true"
[pageLinks]="3"
[rowsPerPageOptions]="[10,20,50]"
[(selection)]="selectedRow"
(onRowClick)="onRowSelect($event)"
(onRowSelect)="onRowSelect($event)">
<p-column [style]="{'width':'30px'}" selectionMode="single"></p-column>
<p-column header="{{ 'basket.mdm-basket.existing-shopping-baskets' | translate }}">
<ng-template pTemplate="body" let-col let-row="rowData" >
{{row.name}}
</ng-template>
</p-column>
</p-dataTable>
</div>
<div class="row" style="margin-top: 15px;">
<div class="col-md-10" style="padding-left: 0;">
<input type="text" class="form-control" placeholder="{{'basket.mdm-basket.shopping-basket-name' | translate }}" [value]="basketName" (input)="basketName = $event.target.value" (keyup.enter)="saveBasket($event)" required>
</div>
<div class="col-md-2" style="padding: 0;">
<button type="button" class="btn btn-outline-secondary pull-right" (click)="saveBasket($event)" [disabled]="!basketName" title="{{getSaveBtnTitle()}}">
<span class="fa fa-floppy-o"></span> {{'basket.mdm-basket.btn-shopping-basket' | translate }}
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<overwrite-dialog></overwrite-dialog>