fabric8-analytics-dep-editor
Version:
267 lines • 10.5 kB
JavaScript
import { Component, Input, ViewChild } from '@angular/core';
import { DependencyEditorService } from '../shared/dependency-editor.service';
import { DependencySnapshot } from '../utils/dependency-snapshot';
var AddDependencyComponent = /** @class */ (function () {
function AddDependencyComponent(service) {
this.service = service;
this.dependencySearchResult = [];
this.isLoading = false;
this.categorySearchResult = [];
this.categoryResult = [];
this.tagZero = 0;
this.searchKey = '';
this.suggestions = [];
this.dependenciesData = [];
this.masterTags = [];
this.selectedTags = new Set();
this.categories = [];
this.cveName = [];
this.noOfTags = 0;
this.saveTagname = [];
this.type = false;
this.tags = [];
this.toast = false;
}
AddDependencyComponent.prototype.ngOnInit = function () {
};
AddDependencyComponent.prototype.ngOnChanges = function () {
};
AddDependencyComponent.prototype.getDependencies = function () {
var _this = this;
this.isLoading = true;
this.service.getDependencies(this.dependencySearchString)
.subscribe(function (response) {
_this.dependencySearchResult = response['result'];
_this.isLoading = false;
});
};
AddDependencyComponent.prototype.getCategories = function () {
var _this = this;
this.isLoading = true;
var runtime = '';
if (this.boosterInfo.runtime.id === 'vert.x') {
runtime = 'vertx';
}
else if (this.boosterInfo.runtime.id === 'spring-boot') {
runtime = 'springboot';
}
else if (this.boosterInfo.runtime.id === 'wildfly-swarm') {
runtime = 'wildflyswarm';
}
this.service.getCategories(runtime)
.subscribe(function (response) {
_this.categorySearchResult = response['categories'];
_this.isLoading = false;
_this.categoryResult = [];
for (var key in _this.categorySearchResult) {
if (_this.categorySearchResult.hasOwnProperty(key)) {
_this.categoryResult.push(_this.categorySearchResult[key]);
}
}
var p = _this.getCategoryPayload();
_this.getCategoriesSecurity(p);
_this.addedTags();
});
};
AddDependencyComponent.prototype.getCategoryPayload = function () {
var payload = {};
var j = 0;
var category = [];
this.categoryResult.forEach(function (i) {
i.package.map(function (k) {
category.push({
'package': k.name,
'version': k.version
});
});
});
payload['_resolved'] = category;
payload['ecosystem'] = DependencySnapshot.ECOSYSTEM;
payload['request_id'] = DependencySnapshot.REQUEST_ID;
return payload;
};
AddDependencyComponent.prototype.getCategoriesSecurity = function (payload) {
var _this = this;
this.service.getDependencyData('CVE', payload)
.subscribe(function (response) {
_this.cveTemporaryData = response;
if (_this.cveTemporaryData) {
var count_1 = -1;
_this.cveTemporaryData.result.forEach(function (item) {
count_1++;
if (item.cve) {
if (item.cve !== null) {
_this.cveName.push({
'detail': item.cve.details,
'package': item.package
});
}
}
});
}
});
this.masterTags.forEach(function (i) {
for (var j = 0; j < _this.cveName.length; j++)
if (i.name === _this.cveName['j'].package) {
i.security = _this.cveName['j'].detail;
}
});
};
AddDependencyComponent.prototype.changeTagname = function (master, t) {
this.type = !t;
for (var i = 0; i < this.masterTags.length; i++) {
if (this.masterTags[i].name === master.name && this.masterTags[i].version === master.version && this.masterTags[i].category === master.category) {
this.type = !t;
if (this.masterTags[i].type === true && this.type === true) {
continue;
}
else if (this.masterTags[i].type === true && this.type === false) {
this.masterTags[i].type = false;
this.noOfTags--;
i++;
break;
}
else if (this.masterTags[i].type === false) {
if (this.type === true) {
this.masterTags[i].type = true;
this.noOfTags++;
break;
}
else if (this.type === false) {
this.masterTags[i].type = false;
this.noOfTags--;
break;
}
}
}
}
};
AddDependencyComponent.prototype.listenInputSearch = function () {
if (this.dependencySearchString === '') {
this.dependencySearchResult = [];
}
};
AddDependencyComponent.prototype.addDependency = function () {
this.dependencySearchResult = [];
this.dependencySearchString = '';
this.noOfTags = 0;
this.saveTagname = [];
for (var i = 0; i < this.masterTags.length; i++) {
if (this.masterTags[i].type === true) {
this.tags = [];
this.tags.push({
'ecosystem': DependencySnapshot.ECOSYSTEM,
'version': this.masterTags[i].version,
'name': this.masterTags[i].name
});
this.saveTagname.push({
'name': this.masterTags[i].name
});
this.toast = true;
this.masterTags[i].grouped = true;
this.masterTags[i].type = false;
this.service.dependencySelected.emit(this.tags[0]);
}
}
};
AddDependencyComponent.prototype.addSearchDependency = function (depItem) {
this.dependencySearchResult = [];
this.dependencySearchString = '';
this.service.dependencySelected.emit(depItem);
};
AddDependencyComponent.prototype.ngOnDestroy = function () {
this.dependencies = [];
this.dependencySearchResult = [];
this.categorySearchResult = [];
this.categoryResult = [];
this.dependencySearchString = '';
this.isLoading = false;
};
AddDependencyComponent.prototype.removeDependency = function (dependency) {
this.service.removeDependency(dependency);
};
AddDependencyComponent.prototype.showPackageModal = function (event) {
this.modalPackagePreview.open();
this.getCategories();
};
AddDependencyComponent.prototype.closemodal = function () {
this.modalPackagePreview.close();
};
AddDependencyComponent.prototype.showDependency = function () {
};
AddDependencyComponent.prototype.handleUserInputKeyPress = function (event) {
};
AddDependencyComponent.prototype.addedTags = function () {
var _this = this;
var count = 0;
this.tagZero = 0;
this.categoryResult.forEach(function (i) {
count++;
_this.tagZero = count;
i.package.forEach(function (x) {
_this.masterTags.push({
'ecosystem': DependencySnapshot.ECOSYSTEM,
'version': x.version,
'name': x.name,
'category': x.category,
'type': false,
'grouped': false,
'security': null,
'present': false
});
});
});
this.categoryResult.forEach(function (i) {
i.package.forEach(function (x) {
_this.saveTagname.push({ 'name': x, 'type': false });
});
});
for (var i = 0; i < this.masterTags.length; i++) {
this.masterTags[i].present = false;
}
if (DependencySnapshot.DEP_FULL_ADDED.length === 0) {
for (var i = 0; i < this.masterTags.length; i++) {
this.masterTags[i].grouped = false;
}
}
else {
DependencySnapshot.DEP_FULL_ADDED.forEach(function (depAdded) {
for (var i = 0; i < _this.masterTags.length; i++) {
if (_this.masterTags[i].name === depAdded.name && _this.masterTags[i].version === depAdded.version) {
_this.masterTags[i].grouped = true;
_this.masterTags[i].present = true;
}
else {
if (_this.masterTags[i].present === true) {
continue;
}
else {
_this.masterTags[i].grouped = false;
}
}
}
});
}
};
AddDependencyComponent.decorators = [
{ type: Component, args: [{
selector: 'app-add-dependency',
styles: [require('./add-dependency.component.less').toString()],
template: require('./add-dependency.component.html')
},] },
];
/** @nocollapse */
AddDependencyComponent.ctorParameters = function () { return [
{ type: DependencyEditorService, },
]; };
AddDependencyComponent.propDecorators = {
'boosterInfo': [{ type: Input },],
'dependencies': [{ type: Input },],
'dependencyAdded': [{ type: Input },],
'existDependencies': [{ type: Input },],
'modalPackagePreview': [{ type: ViewChild, args: ['PackagePreview',] },],
};
return AddDependencyComponent;
}());
export { AddDependencyComponent };
//# sourceMappingURL=add-dependency.component.js.map