Skip to content

Commit f7f1b12

Browse files
committed
feat: enhance configuration saving logic with support for multiple groups
Signed-off-by: Manuel Abascal <mjabascal10@gmail.com>
1 parent 302cd30 commit f7f1b12

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

frontend/src/app/app-module/conf/int-generic-group-config/int-generic-group-config.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@
182182
</button>
183183
<button class="btn utm-button utm-button-primary" (click)="saveConfig(group)"
184184
[disabled]="!tenantIsConfigValid(group) || (changes && changes.keys.length===0 || !configHasChanges(group.id)) || savingConfig || uniqueConfigNameConstrain">
185-
<i [ngClass]="savingConfig ? 'icon-spinner2 spinner':'icon-cog5 mr-1'"></i>
185+
<i [ngClass]="savingConfigs.get(group.id) ? 'icon-spinner2 spinner':'icon-cog5 mr-1'"></i>
186186
Save configuration
187187
</button>
188188
</div>

frontend/src/app/app-module/conf/int-generic-group-config/int-generic-group-config.component.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import {ChangeDetectorRef, Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges} from '@angular/core';
22
import {Subject} from 'rxjs';
3-
import {debounceTime, distinctUntilChanged, finalize, map, takeUntil, tap} from 'rxjs/operators';
3+
import {debounceTime, finalize, map, takeUntil, tap} from 'rxjs/operators';
44
import {ModalService} from '../../../core/modal/modal.service';
55
import {UtmToastService} from '../../../shared/alert/utm-toast.service';
66
import {
77
ModalConfirmationComponent
88
} from '../../../shared/components/utm/util/modal-confirmation/modal-confirmation.component';
9-
import {EncryptService} from '../../../shared/services/util/encrypt.service';
109
import {ModuleChangeStatusBehavior} from '../../shared/behavior/module-change-status.behavior';
1110
import {IntCreateGroupComponent} from '../../shared/components/int-create-group/int-create-group.component';
1211
import {GroupTypeEnum} from '../../shared/enum/group-type.enum';
@@ -46,10 +45,10 @@ export class IntGenericGroupConfigComponent implements OnInit, OnChanges, OnDest
4645
destroy$ = new Subject<void>();
4746
uniqueConfigNameConstrain = false;
4847
invalidDomainOrIp = false;
48+
savingConfigs = new Map<number, boolean>();
4949

5050
constructor(private utmModuleGroupService: UtmModuleGroupService,
5151
private toast: UtmToastService,
52-
private encryptService: EncryptService,
5352
private utmModuleGroupConfService: UtmModuleGroupConfService,
5453
private modalService: ModalService,
5554
private moduleChangeStatusBehavior: ModuleChangeStatusBehavior,
@@ -189,15 +188,15 @@ export class IntGenericGroupConfigComponent implements OnInit, OnChanges, OnDest
189188
}
190189

191190
saveConfig(group: UtmModuleGroupType) {
192-
this.savingConfig = true;
191+
this.savingConfigs.set(group.id, true);
193192
const configs = this.changes.keys.filter(change => change.groupId === group.id);
194193

195194
this.utmModuleGroupConfService.update({
196195
moduleId: group.moduleId,
197196
keys: configs
198197
}).pipe(
199198
finalize(() => {
200-
this.savingConfig = false;
199+
this.savingConfigs.set(group.id, false);
201200
this.cdr.detectChanges();
202201
})
203202
).subscribe({
@@ -440,6 +439,7 @@ export class IntGenericGroupConfigComponent implements OnInit, OnChanges, OnDest
440439
this.addChange(integrationConfig);
441440
}
442441

442+
443443
ngOnDestroy() {
444444
this.destroy$.next();
445445
this.destroy$.complete();

0 commit comments

Comments
 (0)