Skip to content

Commit 7bf965f

Browse files
committed
Cleanup.
1 parent 402d981 commit 7bf965f

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

src/GleapFeedbackButtonManager.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,9 @@ export default class GleapFeedbackButtonManager {
3838
feedbackButtonPressed() {
3939
var frameManager = GleapFrameManager.getInstance();
4040
if (frameManager.isOpened()) {
41-
GleapFrameManager.getInstance().hideWidget();
41+
frameManager.hideWidget();
4242
} else {
43-
GleapFrameManager.getInstance().showWidget();
43+
frameManager.showWidget();
4444
}
4545
}
4646

@@ -110,5 +110,9 @@ export default class GleapFeedbackButtonManager {
110110
if (flowConfig.feedbackButtonPosition === GleapFeedbackButtonManager.FEEDBACK_BUTTON_BOTTOM_LEFT) {
111111
this.feedbackButton.classList.add("bb-feedback-button--bottomleft");
112112
}
113+
114+
if (GleapFrameManager.getInstance().isOpened()) {
115+
this.feedbackButton.classList.add("bb-feedback-button--sending");
116+
}
113117
}
114118
}

src/GleapFrameManager.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export default class GleapFrameManager {
99
frameURL = "https://frame.gleap.io";
1010
markerManager = undefined;
1111
escListener = undefined;
12+
frameHeight = 0;
1213

1314
// GleapFrameManager singleton
1415
static instance;
@@ -56,7 +57,7 @@ export default class GleapFrameManager {
5657

5758
var elem = document.createElement("div");
5859
elem.className = "gleap-frame-container gleap-frame-container--hidden gleap-hidden";
59-
elem.innerHTML = `<div class="gleap-frame-container-inner"><iframe src="${this.frameURL}" class="gleap-frame" scrolling="no" title="Gleap Widget Window" allow="autoplay; encrypted-media; fullscreen;" frameborder="0"></iframe></div>`;
60+
elem.innerHTML = `<div class="gleap-frame-container-inner"><iframe src="${this.frameURL}" class="gleap-frame" scrolling="yes" title="Gleap Widget Window" allow="autoplay; encrypted-media; fullscreen;" frameborder="0"></iframe></div>`;
6061
document.body.appendChild(elem);
6162

6263
this.gleapFrameContainer = elem;
@@ -166,7 +167,23 @@ export default class GleapFrameManager {
166167
});
167168
}
168169

170+
calculateFrameHeight() {
171+
if (this.gleapFrameContainer) {
172+
const flowConfig = GleapConfigManager.getInstance().getFlowConfig();
173+
var bottomOffset = 40;
174+
if (flowConfig.feedbackButtonPosition === GleapFeedbackButtonManager.FEEDBACK_BUTTON_BOTTOM_LEFT || flowConfig.feedbackButtonPosition === GleapFeedbackButtonManager.FEEDBACK_BUTTON_BOTTOM_RIGHT) {
175+
bottomOffset = 115;
176+
}
177+
var newMaxHeight = Math.min(this.frameHeight, (window.innerHeight - bottomOffset));
178+
this.gleapFrameContainer.style.maxHeight = newMaxHeight + "px";
179+
}
180+
}
181+
169182
startCommunication() {
183+
window.addEventListener('resize', (event) => {
184+
this.calculateFrameHeight();
185+
}, true);
186+
170187
// Listen for messages.
171188
this.addMessageListener((data) => {
172189
if (data.name === "ping") {
@@ -180,7 +197,8 @@ export default class GleapFrameManager {
180197
}
181198

182199
if (data.name === "height-update") {
183-
this.gleapFrameContainer.style.maxHeight = data.data + "px";
200+
this.frameHeight = data.data;
201+
this.calculateFrameHeight();
184202
}
185203

186204
if (data.name === "notify-event") {

0 commit comments

Comments
 (0)