|
435 | 435 | duration: 250, |
436 | 436 | animation: 'scale' |
437 | 437 | }); |
| 438 | + handleWidgetResize('feedback'); |
438 | 439 | }, |
439 | 440 | type: "GET", |
440 | 441 | url: url + "/o/feedback/widget" |
441 | 442 | }); |
442 | 443 |
|
| 444 | + function handleWidgetResize(screen) { |
| 445 | + console.log("Resizing widget..."); |
| 446 | + if (window.parent && typeof window.parent.postMessage === "function") { |
| 447 | + const bodyElement = $('body'); |
| 448 | + let modalContentElement = null; |
| 449 | + |
| 450 | + if (screen === 'feedback') { |
| 451 | + modalContentElement = $('.modal-content')[0]; |
| 452 | + } |
| 453 | + else if (screen === 'success') { |
| 454 | + modalContentElement = $('.success-modal-content')[0]; |
| 455 | + } |
| 456 | + |
| 457 | + const bottomMargin = parseFloat(bodyElement.css('margin-bottom')) || 0; |
| 458 | + const leftMargin = parseFloat(bodyElement.css('margin-left')) || 0; |
| 459 | + const rightMargin = parseFloat(bodyElement.css('margin-right')) || 0; |
| 460 | + const topMargin = parseFloat(bodyElement.css('margin-top')) || 0; |
| 461 | + |
| 462 | + console.log("Widget body element: ", modalContentElement); |
| 463 | + |
| 464 | + const width = modalContentElement.offsetWidth + (leftMargin + rightMargin); |
| 465 | + const height = modalContentElement.offsetHeight + (topMargin + bottomMargin); |
| 466 | + |
| 467 | + console.log("Widget size: ", { width: width, height: height }); |
| 468 | + |
| 469 | + var d = { |
| 470 | + key: "resize-me", |
| 471 | + data: { |
| 472 | + width: width, |
| 473 | + height: height |
| 474 | + } |
| 475 | + }; |
| 476 | + |
| 477 | + var parent = "*"; |
| 478 | + |
| 479 | + if (parentOrigin) { |
| 480 | + parent = parentOrigin; |
| 481 | + } |
| 482 | + |
| 483 | + window.parent.postMessage(d, parent); |
| 484 | + } |
| 485 | + } |
| 486 | + |
443 | 487 | var eventObject = { |
444 | 488 | key: "[CLY]_star_rating", |
445 | 489 | count: 1, |
|
561 | 605 | showCommentCheckbox.setAttribute('data-state', 0); |
562 | 606 | document.getElementById('countly-feedback-comment-textarea').style.display = "none"; |
563 | 607 | } |
| 608 | + |
| 609 | + handleWidgetResize('feedback'); |
564 | 610 | } |
565 | 611 |
|
566 | 612 | function showHideEmailArea() { |
|
572 | 618 | showEmailCheckbox.setAttribute('data-state', 0); |
573 | 619 | document.getElementById('countly-feedback-contact-me-email').style.display = "none"; |
574 | 620 | } |
| 621 | + |
| 622 | + handleWidgetResize('feedback'); |
575 | 623 | } |
576 | 624 |
|
577 | 625 | function consent() { |
|
620 | 668 | // set popup to default state |
621 | 669 | document.getElementsByClassName("success-modal-content")[0].style.display = "none"; |
622 | 670 | document.getElementsByClassName("modal-content")[0].style.display = "flex"; |
| 671 | + handleWidgetResize('success'); |
623 | 672 | document.getElementById('countly-feedback-comment-textarea').value = ""; |
624 | 673 | document.getElementById('countly-feedback-contact-me-email').value = ""; |
625 | 674 | for (var i = 0; i < 5; i++) { |
|
0 commit comments