@wavemaker/app-ng-runtime 11.11.1-rc.6142 → 11.11.2-rc.6152

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.
Files changed (34) hide show
  1. package/components/base/bundles/index.umd.js +1 -1
  2. package/components/base/esm2022/widgets/common/base/base.component.mjs +2 -2
  3. package/components/base/fesm2022/index.mjs +1 -1
  4. package/components/base/fesm2022/index.mjs.map +1 -1
  5. package/components/containers/wizard/bundles/index.umd.js +42 -18
  6. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +1 -1
  7. package/components/containers/wizard/esm2022/wizard.component.mjs +43 -19
  8. package/components/containers/wizard/fesm2022/index.mjs +42 -18
  9. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  10. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -3
  11. package/components/containers/wizard/wizard.component.d.ts +6 -3
  12. package/components/input/epoch/base-date-time.component.d.ts +1 -0
  13. package/components/input/epoch/bundles/index.umd.js +34 -10
  14. package/components/input/epoch/esm2022/base-date-time.component.mjs +22 -2
  15. package/components/input/epoch/esm2022/date/date.component.mjs +6 -5
  16. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +9 -6
  17. package/components/input/epoch/fesm2022/index.mjs +34 -10
  18. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  19. package/core/bundles/index.umd.js +35 -23
  20. package/core/esm2022/services/custom-icons-loader.service.mjs +7 -12
  21. package/core/esm2022/utils/utils.mjs +3 -2
  22. package/core/esm2022/utils/wm-project-properties.mjs +15 -1
  23. package/core/fesm2022/index.mjs +35 -26
  24. package/core/fesm2022/index.mjs.map +1 -1
  25. package/core/services/custom-icons-loader.service.d.ts +0 -1
  26. package/core/utils/wm-project-properties.d.ts +2 -0
  27. package/npm-shrinkwrap.json +2 -2
  28. package/package-lock.json +2 -2
  29. package/package.json +1 -1
  30. package/runtime/dynamic/bundles/index.umd.js +12 -5
  31. package/runtime/dynamic/esm2022/main.mjs +10 -1
  32. package/runtime/dynamic/fesm2022/index.mjs +9 -2
  33. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  34. package/scripts/datatable/datatable.js +39 -3
@@ -1538,6 +1538,26 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
1538
1538
  setTimeout(() => displayInputElem.blur());
1539
1539
  }
1540
1540
  }
1541
+ adjustDateTimePickerInModel(element, elementDirective) {
1542
+ if (this.containerTarget === '.modal-container' && element) {
1543
+ setTimeout(() => {
1544
+ elementDirective._datepicker._posService.disable();
1545
+ const inputRect = this.nativeElement.getBoundingClientRect();
1546
+ const elementHeight = $('timepicker')[0]?.offsetHeight || element.offsetHeight;
1547
+ let top;
1548
+ if (inputRect.bottom + elementHeight > window.innerHeight) {
1549
+ top = inputRect.top - elementHeight + window.scrollY;
1550
+ }
1551
+ else {
1552
+ top = inputRect.bottom + window.scrollY;
1553
+ }
1554
+ const left = inputRect.left + window.scrollX;
1555
+ element.style.top = `${top}px`;
1556
+ element.style.left = `${left}px`;
1557
+ element.style.transform = 'none';
1558
+ });
1559
+ }
1560
+ }
1541
1561
  onPropertyChange(key, nv, ov) {
1542
1562
  if (key === 'tabindex') {
1543
1563
  return;
@@ -1606,7 +1626,7 @@ class BaseDateTimeComponent extends BaseFormCustomComponent {
1606
1626
  }
1607
1627
  ngAfterViewInit() {
1608
1628
  super.ngAfterViewInit();
1609
- this.containerTarget = getContainerTargetClass(this.nativeElement);
1629
+ this.containerTarget = this.nativeElement.closest('modal-container') ? '.modal-container' : getContainerTargetClass(this.nativeElement);
1610
1630
  this.isReadOnly = this.dataentrymode != 'undefined' && !this.isDataEntryModeEnabledOnInput(this.dataentrymode);
1611
1631
  // this mobileinput width varies in ios hence setting width here.
1612
1632
  const mobileInput = this.getMobileInput();
@@ -1950,15 +1970,16 @@ class DateComponent extends BaseDateTimeComponent {
1950
1970
  // So actual bootstrap input target width we made it to 0, so bootstrap calculating the calendar container top position improperly.
1951
1971
  // To fix the container top position set the width 1px;
1952
1972
  this.$element.find('.model-holder').width('1px');
1953
- const dpContainerEl = $('bs-datepicker-container');
1954
- dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
1973
+ const datePickerContainerEl = $('bs-datepicker-container');
1974
+ datePickerContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
1955
1975
  $('.bs-calendar-container').removeAttr('role');
1956
1976
  const datePickerContainer = $('.bs-datepicker-container')[0];
1957
1977
  this.focusTrap = setFocusTrap(datePickerContainer, true);
1958
1978
  this.focusTrap.activate();
1959
1979
  this.addDatepickerKeyboardEvents(this, false);
1960
- adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
1961
- adjustContainerRightEdges($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
1980
+ adjustContainerPosition(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
1981
+ adjustContainerRightEdges(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
1982
+ this.adjustDateTimePickerInModel(datePickerContainerEl[0], this.bsDatePickerDirective);
1962
1983
  if (this.timeZone) {
1963
1984
  const todayBtn = document.querySelector(`.${this.dateContainerCls} .bs-datepicker-buttons .btn-today-wrapper button`);
1964
1985
  const setTodayTZHandler = (event) => {
@@ -2389,8 +2410,10 @@ class DatetimeComponent extends BaseDateTimeComponent {
2389
2410
  this.bsDatePickerDirective.hide();
2390
2411
  this.focusTimePickerPopover(this);
2391
2412
  this.bindTimePickerKeyboardEvents();
2392
- adjustContainerPosition($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2393
- adjustContainerRightEdges($('bs-dropdown-container'), this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2413
+ const dropdownContainerEl = $('bs-dropdown-container');
2414
+ adjustContainerPosition(dropdownContainerEl, this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2415
+ adjustContainerRightEdges(dropdownContainerEl, this.nativeElement, this.bsDropdown._dropdown, $('bs-dropdown-container .dropdown-menu'));
2416
+ this.adjustDateTimePickerInModel(dropdownContainerEl[0], this.bsDatePickerDirective);
2394
2417
  }
2395
2418
  onDatePickerOpen() {
2396
2419
  this.isDateOpen = !this.isDateOpen;
@@ -2399,8 +2422,8 @@ class DatetimeComponent extends BaseDateTimeComponent {
2399
2422
  // So actual bootstrap input target width we made it to 0 so bootstrap calculating the calendar container top position impropery.
2400
2423
  // To fix the container top position set the width 1px;
2401
2424
  this.$element.find('.model-holder').width('1px');
2402
- const dpContainerEl = $('bs-datepicker-container');
2403
- dpContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2425
+ const datePickerContainerEl = $('bs-datepicker-container');
2426
+ datePickerContainerEl.attr('aria-label', 'Use Arrow keys to navigate dates, Choose Date from datepicker');
2404
2427
  $('.bs-calendar-container').removeAttr('role');
2405
2428
  const datePickerContainer = $('.bs-datepicker-container')[0];
2406
2429
  this.focusTrap = setFocusTrap(datePickerContainer, true);
@@ -2410,7 +2433,8 @@ class DatetimeComponent extends BaseDateTimeComponent {
2410
2433
  this.hightlightToday(this.activeDate);
2411
2434
  }
2412
2435
  this.addDatepickerKeyboardEvents(this, true);
2413
- adjustContainerPosition($('bs-datepicker-container'), this.nativeElement, this.bsDatePickerDirective._datepicker);
2436
+ adjustContainerPosition(datePickerContainerEl, this.nativeElement, this.bsDatePickerDirective._datepicker);
2437
+ this.adjustDateTimePickerInModel(datePickerContainerEl[0], this.bsDatePickerDirective);
2414
2438
  }
2415
2439
  /**
2416
2440
  * This is an internal method to update the model