X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=webapp%2Fsrc%2Fapp%2Fpages%2Fsdks%2Fsdk-card%2Fsdk-card.component.ts;h=76dc732e1aa407c005fde3e1a246899c5c985a4e;hb=a2cc38902ff7528870822110c4f04329a3918564;hp=8228570b42b33e7172c4dcb8e79494821b8fa413;hpb=38c0c21a969e621c725245ce91c78e77076c5ce7;p=src%2Fxds%2Fxds-agent.git diff --git a/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts b/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts index 8228570..76dc732 100644 --- a/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts +++ b/webapp/src/app/pages/sdks/sdk-card/sdk-card.component.ts @@ -1,7 +1,27 @@ +/** +* @license +* Copyright (C) 2017-2018 "IoT.bzh" +* Author Sebastien Douheret +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + import { Component, Input, Pipe, PipeTransform } from '@angular/core'; -import { SdkService, ISdk } from '../../../@core-xds/services/sdk.service'; +import { SdkService, ISdk, StatusType } from '../../../@core-xds/services/sdk.service'; import { AlertService } from '../../../@core-xds/services/alert.service'; +import { NgbModal } from '@ng-bootstrap/ng-bootstrap'; +import { ConfirmModalComponent, EType } from '../../confirm/confirm-modal/confirm-modal.component'; @Component({ selector: 'xds-sdk-card', @@ -17,19 +37,37 @@ export class SdkCardComponent { constructor( private alert: AlertService, - private sdkSvr: SdkService + private sdkSvr: SdkService, + private modalService: NgbModal, ) { } - labelGet(sdk: ISdk) { - return sdk.profile + '-' + sdk.arch + '-' + sdk.version; + canRemove(sdk: ISdk) { + return sdk.status === StatusType.INSTALLED; } - delete(sdk: ISdk) { - this.sdkSvr.delete(sdk).subscribe( - res => { }, - err => this.alert.error('ERROR delete: ' + err) - ); + remove(sdk: ISdk) { + const modal = this.modalService.open(ConfirmModalComponent, { + size: 'lg', + backdrop: 'static', + container: 'nb-layout', + }); + modal.componentInstance.title = 'Confirm SDK deletion'; + modal.componentInstance.type = EType.YesNo; + modal.componentInstance.question = ` + Do you permanently remove '` + sdk.name + `' SDK ? +

+ (SDK ID: ` + sdk.id + ` )`; + + modal.result + .then(res => { + if (res === 'yes') { + this.sdkSvr.remove(sdk).subscribe( + r => { }, + err => this.alert.error(err), + ); + } + }); } }