blob: 3f1e741f7db49be109fe3e80e266d36c60b450f8 [file] [log] [blame]
/********************************************************************************
* 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
*
********************************************************************************/
import {Component, Input, Output, EventEmitter, ViewChild} from '@angular/core';
import { ModalDirective } from 'ngx-bootstrap';
import {Release, FilereleaseService} from './filerelease.service';
import {Node} from '../navigator/node';
import {MDMNotificationService} from '../core/mdm-notification.service';
import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'mdm-filerelease-create',
templateUrl: 'mdm-filerelease-create.component.html'
})
export class MDMFilereleaseCreateComponent {
@Input() disabled: boolean;
@Input() node: Node;
@Output() onSubmit = new EventEmitter<boolean>();
release: Release = new Release;
options = ['PAK2RAW', 'PAK2ATFX'];
expire = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
@ViewChild('lgModal')
lgModal: ModalDirective;
constructor(private service: FilereleaseService,
private notificationService: MDMNotificationService,
private translateService: TranslateService) {}
getFormat(key) {
return this.service.formatMap[key];
}
createRelease() {
this.release.identifier = '';
this.release.state = '';
this.release.name = this.node.name;
this.release.sourceName = this.node.sourceName;
this.release.typeName = this.node.type;
this.release.id = this.node.id;
this.release.sender = '';
this.release.receiver = '';
this.release.rejectMessage = '';
this.release.errorMessage = '';
this.release.fileLink = '';
this.release.expire = 0;
this.service.create(this.release).subscribe(
release => this.release = release,
error => this.notificationService.notifyError(
this.translateService.instant('filerelease.mdm-filerelease-create.err-cannot-create-release'), error)
);
this.clear();
this.onSubmit.emit(true);
this.lgModal.hide();
}
clear() {
this.release = new Release();
}
}