@web-atoms/core 2.1.408 → 2.1.411
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.
- package/dist/App.js.map +1 -1
- package/dist/core/AtomComponent.js.map +1 -1
- package/dist/core/CancelTokenFactory.js.map +1 -1
- package/dist/core/SingleInvoker.js.map +1 -1
- package/dist/core/types.js +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/services/BusyIndicatorService.js.map +1 -1
- package/dist/services/CacheService.js.map +1 -1
- package/dist/services/JsonService.js.map +1 -1
- package/dist/services/MockNavigationService.js.map +1 -1
- package/dist/services/ReferenceService.js.map +1 -1
- package/dist/services/http/RestService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/view-model/AtomViewModel.js.map +1 -1
- package/dist/web/controls/AtomAlertWindow.js.map +1 -1
- package/dist/web/controls/AtomComboBox.js.map +1 -1
- package/dist/web/controls/AtomControl.js.map +1 -1
- package/dist/web/controls/AtomNotification.js.map +1 -1
- package/dist/web/controls/AtomTabbedPage.js.map +1 -1
- package/dist/web/samples/MovieService.js.map +1 -1
- package/dist/web/samples/demo/views/MovieListViewModel.js.map +1 -1
- package/dist/web/samples/tabs/views/Page1.js.map +1 -1
- package/dist/web/services/MarkdownService.js.map +1 -1
- package/dist/web/services/PopupService.d.ts.map +1 -1
- package/dist/web/services/PopupService.js +18 -6
- package/dist/web/services/PopupService.js.map +1 -1
- package/dist/web/services/WebBusyIndicatorService.js.map +1 -1
- package/dist/web/services/WindowService.js.map +1 -1
- package/dist/web/styles/AtomTheme.js.map +1 -1
- package/dist/xf/services/XFBusyIndicatorService.js.map +1 -1
- package/dist/xf/services/XFNavigationService.js.map +1 -1
- package/package.json +1 -1
- package/src/core/types.ts +1 -1
- package/src/web/services/PopupService.tsx +20 -6
|
@@ -930,7 +930,8 @@ export default class PopupService {
|
|
|
930
930
|
const alignment = options?.alignment;
|
|
931
931
|
|
|
932
932
|
const isCenterOfScreen = alignment === "centerOfScreen";
|
|
933
|
-
|
|
933
|
+
let alignRight = alignment === "right";
|
|
934
|
+
const alignAuto = alignment === "auto";
|
|
934
935
|
|
|
935
936
|
const popupStyle = options?.popupStyle ?? popupCss;
|
|
936
937
|
container.element._logicalParent = opener;
|
|
@@ -938,11 +939,17 @@ export default class PopupService {
|
|
|
938
939
|
if (isCenterOfScreen) {
|
|
939
940
|
container.element.dataset.centerPopup = "center";
|
|
940
941
|
} else {
|
|
941
|
-
|
|
942
|
-
if (
|
|
943
|
-
|
|
942
|
+
|
|
943
|
+
if (alignAuto) {
|
|
944
|
+
const rect = opener.getBoundingClientRect();
|
|
945
|
+
const w = window.visualViewport.width;
|
|
946
|
+
if (rect.left > w / 2) {
|
|
947
|
+
alignRight = true;
|
|
948
|
+
}
|
|
944
949
|
}
|
|
945
|
-
|
|
950
|
+
|
|
951
|
+
container.element.dataset.inlinePopup = "true";
|
|
952
|
+
const alignPopup = () => {
|
|
946
953
|
if (alignRight) {
|
|
947
954
|
container.element.style.top = (opener.offsetTop) + "px";
|
|
948
955
|
container.element.style.left = (opener.offsetWidth) + "px";
|
|
@@ -950,7 +957,14 @@ export default class PopupService {
|
|
|
950
957
|
container.element.style.top = (opener.offsetTop + opener.offsetHeight) + "px";
|
|
951
958
|
}
|
|
952
959
|
opener.insertAdjacentElement("afterend", container.element);
|
|
953
|
-
}
|
|
960
|
+
};
|
|
961
|
+
if (opener.offsetParent !== opener.parentElement) {
|
|
962
|
+
opener.parentElement.style.position = "relative";
|
|
963
|
+
setTimeout(alignPopup, 50);
|
|
964
|
+
} else {
|
|
965
|
+
alignPopup();
|
|
966
|
+
}
|
|
967
|
+
|
|
954
968
|
}
|
|
955
969
|
const parent = AtomControl.from(opener);
|
|
956
970
|
|