From e112cf8dc7dc386c30010c817aa793a01250be8c Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 9 Apr 2020 12:06:09 +0300 Subject: [PATCH] refactor: simplify isFormDirty logic --- .../lib/components/modal/modal.component.ts | 26 +------------------ 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts index e00cda5b55..2527ab033d 100644 --- a/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts +++ b/npm/ng-packs/packages/theme-shared/src/lib/components/modal/modal.component.ts @@ -102,17 +102,7 @@ export class ModalComponent implements OnDestroy { destroy$ = new Subject(); get isFormDirty(): boolean { - let node: HTMLDivElement; - if (!this.modalContent) { - node = document.getElementById('modal-container') as HTMLDivElement; - } - - const nodes = getFlatNodes( - ((node || this.modalContent.nativeElement).querySelector('#abp-modal-body') as HTMLElement) - .childNodes, - ); - - return hasNgDirty(nodes); + return Boolean(document.querySelector('.modal-dialog .ng-dirty')); } constructor(private renderer: Renderer2, private confirmationService: ConfirmationService) {} @@ -178,17 +168,3 @@ export class ModalComponent implements OnDestroy { this.init.emit(); } } - -function getFlatNodes(nodes: NodeList): HTMLElement[] { - return Array.from(nodes).reduce( - (acc, val) => [ - ...acc, - ...(val.childNodes && val.childNodes.length ? getFlatNodes(val.childNodes) : [val]), - ], - [], - ); -} - -function hasNgDirty(nodes: HTMLElement[]) { - return nodes.findIndex(node => (node.className || '').indexOf('ng-dirty') > -1) > -1; -}