import { ComponentMetadata } from '../../../../models/component-metadata';
import { ServiceInstanceObject } from '../../../../models/service-instance-properties-and-interfaces';
import { TopologyTemplateService } from '../../../services/component-services/topology-template.service';
-import {DirectivesEnum, DirectiveValue} from "./directive-option";
export class ConstraintObject {
servicePropertyName: string;
capabilities: string = 'capabilities';
properties: string = 'properties';
private componentInstancesConstraints: ConstraintObject[] = [];
+ directiveOptions: string[];
@Input() readonly: boolean;
@Input() compositeService: ComponentMetadata;
@Input() selectedInstanceSiblings: ServiceInstanceObject[];
@Input() selectedInstanceConstraints: ConstraintObject[] = [];
@Input() selectedInstanceProperties: PropertyBEModel[] = [];
- @Input() directiveValues: any = DirectiveValue;
+ @Output() updateRulesListEvent: EventEmitter<ConstraintObject[]> = new EventEmitter<ConstraintObject[]>();
@Output() updateNodeFilterProperties: EventEmitter<ConstraintObject[]> = new EventEmitter<ConstraintObject[]>();
@Output() updateNodeFilterCapabilities: EventEmitter<ConstraintObject[]> = new EventEmitter<ConstraintObject[]>();
@Output() loadRulesListEvent:EventEmitter<any> = new EventEmitter();
}
ngOnInit() {
+ this.loadDirectives();
this.isLoading = false;
this.operatorTypes = [
{label: '>', value: OPERATOR_TYPES.GREATER_THAN},
});
}
+ loadDirectives() {
+ this.topologyTemplateService.getDirectiveList().subscribe((data: string[]) => {
+ this.directiveOptions = data;
+ })
+ }
+
ngOnChanges(changes) {
if (changes.currentServiceInstance) {
this.currentServiceInstance = changes.currentServiceInstance.currentValue;
if (this.isDependent) {
this.openUpdateDependencyModal().instance.open();
}
- if (DirectivesEnum.SELECT == newDirectiveValue.toLowerCase() ||
- DirectivesEnum.SELECTABLE == newDirectiveValue.toLowerCase()) {
- this.currentServiceInstance.markAsSelect();
- } else {
- this.currentServiceInstance.markAsSubstitute();
- }
+ this.currentServiceInstance.setDirectiveValue(newDirectiveValue);
}
updateComponentInstance(isDependentOrigVal: boolean, rulesListOrig: ConstraintObject[]) {