diff --git a/projects/ngneat/edit-in-place/src/lib/directives/editable-group.directive.ts b/projects/ngneat/edit-in-place/src/lib/directives/editable-group.directive.ts index 2b39eb0..26e4ce5 100644 --- a/projects/ngneat/edit-in-place/src/lib/directives/editable-group.directive.ts +++ b/projects/ngneat/edit-in-place/src/lib/directives/editable-group.directive.ts @@ -13,6 +13,7 @@ export class EditableGroupDirective implements AfterViewInit { @Output() editableModeChange: EventEmitter = new EventEmitter(); ngAfterViewInit(): void { + this.children.forEach((child) => (child.isGrouped = true)); this.children.forEach((child) => child.viewHandler.unsubscribe()); this.children.forEach((child) => child.editHandler.unsubscribe()); } diff --git a/projects/ngneat/edit-in-place/src/lib/editable.component.ts b/projects/ngneat/edit-in-place/src/lib/editable.component.ts index 3cfff52..a782af7 100644 --- a/projects/ngneat/edit-in-place/src/lib/editable.component.ts +++ b/projects/ngneat/edit-in-place/src/lib/editable.component.ts @@ -41,6 +41,7 @@ export class EditableComponent implements OnInit, OnDestroy { public viewHandler: Subscription; public editHandler: Subscription; private destroy$: Subject = new Subject(); + public isGrouped = false; constructor(private readonly el: ElementRef, @Inject(EDITABLE_CONFIG) readonly config: EditableConfig) {} @@ -106,7 +107,9 @@ export class EditableComponent implements OnInit, OnDestroy { private leaveEditMode(): void { this.editMode.next(false); this.modeChange.emit('view'); - this.viewHandler.unsubscribe(); - setTimeout(() => this.handleViewMode(), 0); + if (!this.isGrouped) { + this.viewHandler.unsubscribe(); + setTimeout(() => this.handleViewMode(), 0); + } } }