@klippa/ngx-enhancy-forms 14.22.7 → 14.22.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -390,7 +390,7 @@ class FormComponent {
390
390
  }
391
391
  handleSubmission(originalDisabledStates, renderedAndEnabledValues, renderedButDisabledValues, formGroupValue) {
392
392
  if (this.formGroup.invalid) {
393
- this.activeControls.find((e) => !e.formControl.valid)?.formElement?.scrollTo();
393
+ this.activeControls.find((e) => e.formControl.invalid)?.formElement?.scrollTo();
394
394
  this.setDisabledStatesForAllControls(originalDisabledStates);
395
395
  return Promise.reject(invalidFieldsSymbol);
396
396
  }
@@ -679,20 +679,16 @@ class FormElementComponent {
679
679
  return this.getScrollableParent(node.parentNode);
680
680
  }
681
681
  }
682
- getPageOffset(elem) {
683
- let topOffset = elem.getBoundingClientRect().top;
684
- while (elem !== document.documentElement) {
685
- elem = elem.parentElement;
686
- topOffset += elem.scrollTop;
687
- }
688
- return topOffset;
689
- }
690
682
  scrollTo() {
691
683
  const parent = this.getScrollableParent(this.internalComponentRef.nativeElement);
692
- const pageOffsetElement = this.getPageOffset(this.internalComponentRef.nativeElement);
693
- const pageOffsetParent = parent === window.document.documentElement ? 0 : this.getPageOffset(parent);
684
+ const parentTop = parent === window.document.documentElement ? 0 : parent.getBoundingClientRect().top;
685
+ const elementTop = this.internalComponentRef.nativeElement.getBoundingClientRect().top;
686
+ const parentScrollTop = parent.scrollTop;
687
+ const answer = elementTop - parentTop + parentScrollTop;
688
+ console.log('answer', parentTop, elementTop, parentScrollTop, answer);
689
+ console.log(parent, this.internalComponentRef.nativeElement);
694
690
  parent.scrollTo({
695
- top: pageOffsetElement - pageOffsetParent - 30,
691
+ top: answer - 30,
696
692
  behavior: 'smooth'
697
693
  });
698
694
  }