@esfaenza/extensions 15.2.31 → 15.2.32

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.
@@ -1040,6 +1040,7 @@ class AppEmbeddingExtensions {
1040
1040
  constructor(msgService, router) {
1041
1041
  this.msgService = msgService;
1042
1042
  this.router = router;
1043
+ this.sidebarWidth = 230;
1043
1044
  this.Embedded = false;
1044
1045
  this.EmbeddingLevel = 0;
1045
1046
  this.MessageObserver = new Subject();
@@ -1083,7 +1084,6 @@ class AppEmbeddingExtensions {
1083
1084
  switch (event?.data?.level) {
1084
1085
  case "success":
1085
1086
  this.msgService.simpleSuccessWithChoice(event?.data?.title, event?.data?.text, () => {
1086
- debugger;
1087
1087
  sourceWindow.postMessage({ result: true, ...baseResponse }, "*");
1088
1088
  }, () => {
1089
1089
  sourceWindow.postMessage({ result: false, ...baseResponse }, "*");
@@ -1091,7 +1091,6 @@ class AppEmbeddingExtensions {
1091
1091
  break;
1092
1092
  case "warning":
1093
1093
  this.msgService.simpleWarningWithChoice(event?.data?.title, event?.data?.text, () => {
1094
- debugger;
1095
1094
  sourceWindow.postMessage({ result: true, ...baseResponse }, "*");
1096
1095
  }, () => {
1097
1096
  sourceWindow.postMessage({ result: false, ...baseResponse }, "*");
@@ -1101,7 +1100,24 @@ class AppEmbeddingExtensions {
1101
1100
  }
1102
1101
  else if (event?.data?.type == "navigate") {
1103
1102
  console.log(`Window message - navigate -> ${event?.data?.url}`);
1104
- this.router.navigate([event?.data?.url]);
1103
+ var newTab = event?.data?.newTab;
1104
+ var replaceState = event?.data?.replaceState;
1105
+ if (!window.location.href.includes(this.router.url)) {
1106
+ console.warn("Doppia chiamata di navigazione, ignoro il secondo evento scoordinato dal router");
1107
+ return;
1108
+ }
1109
+ let newRelativeUrl = this.router.createUrlTree([event?.data?.url]);
1110
+ let baseUrl = window.location.href.replace(this.router.url, '');
1111
+ let newUrl = baseUrl + decodeURIComponent(newRelativeUrl.toString());
1112
+ if (replaceState)
1113
+ history.pushState({ _pushed: true }, "", newUrl);
1114
+ else if (newTab)
1115
+ window.open(newUrl, '_blank');
1116
+ }
1117
+ else if (event?.data?.type == "navigate-back") {
1118
+ console.log(`Window message - navigate-back -> ${event?.data?.url}`);
1119
+ if (history.state._pushed)
1120
+ history.back();
1105
1121
  }
1106
1122
  else if (event?.data?.type == "redirect") {
1107
1123
  console.log(`Window message - redirect -> ${event?.data?.url}`);
@@ -1119,7 +1135,7 @@ class AppEmbeddingExtensions {
1119
1135
  console.log(`Window message - Modal Open -> Backdrop Height: ${event?.data?.backdropHeight}`);
1120
1136
  var topHeight = 116; // valore fisso, distanza fra il top e l'inizio dell'iframe, non sarà mai diverso
1121
1137
  var rightSpace = wrapperPaddingRight; // valore fisso, distanza fra la fine dell'iframe e il lato sinistro dello schermo, non sarà mai diverso
1122
- var leftSpace = 230 + wrapperPaddingLeft; // 230 è la variabile $sidebar-width
1138
+ var leftSpace = this.sidebarWidth + wrapperPaddingLeft;
1123
1139
  let commonStyles = "position: absolute; z-index: 9999; background-color: #000; opacity: 0.5; ";
1124
1140
  wrapper.style.setProperty("overflow", "hidden", "important");
1125
1141
  const top = document.createElement("div");