- this.policySvc.getPolicyTypes().subscribe(data => {
- if (data.policytype_ids.length != 0) {
- data.policytype_ids.forEach(policyId => {
- var policyTypeSchema = {} as PolicyTypeSchema
- if (policyId === "") {
- policyTypeSchema.name = '';
- policyTypeSchema.schemaObject = '{}';
- this.policyTypes.push(policyTypeSchema);
- }
- else {
- this.policySvc.getPolicyType(policyId).subscribe(policyType => {
- policyTypeSchema.schemaObject = policyType.policy_schema;
- policyTypeSchema.name = policyType.policy_schema.title;
+ this.policySvc.getPolicyTypes()
+ .pipe(
+ catchError((httpError: HttpErrorResponse) => {
+ this.notificationService.error('Failed to get policy types: ' + httpError.error);
+ return of([]);
+ }),
+ finalize(() => this.loadingSubject.next(false))
+ )
+ .subscribe((policyType: PolicyTypes) => {
+ this.rowCount = policyType.policytype_ids.length;
+ if (policyType.policytype_ids.length != 0) {
+ policyType.policytype_ids.forEach(policyTypeId => {
+ var policyTypeSchema = {} as PolicyTypeSchema
+ if (policyTypeId === "") {
+ policyTypeSchema.id = '';
+ policyTypeSchema.name = '';
+ policyTypeSchema.schemaObject = '{}';