File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2828
2929import { generateCSSVarTokens , getUITheme } from ' ../helpers/coolParameters.js'
3030import { languageToBCP47 } from ' ../helpers/index.js'
31+ import PostMessageService from ' ../services/postMessage.tsx'
3132
3233export default {
3334 name: ' CoolFrame' ,
@@ -60,9 +61,15 @@ export default {
6061 cssVariables: generateCSSVarTokens (),
6162 isIframeLoaded: false ,
6263 uiTheme: getUITheme (),
64+ postMessage: null ,
6365 }
6466 },
6567 mounted () {
68+ this .postMessage = new PostMessageService ({
69+ parent: window .parent ,
70+ })
71+ window .addEventListener (' message' , this .handlePostMessage )
72+
6673 if (this .iframeUrl .length > 0 ) {
6774 this .formAction = this .iframeUrl + ' ?lang=' + languageToBCP47 ()
6875 this .isIframeLoaded = true
@@ -79,14 +86,32 @@ export default {
7986 }
8087 })
8188 },
89+ beforeDestroy () {
90+ window .removeEventListener (' message' , this .handlePostMessage )
91+ },
92+ methods: {
93+ handlePostMessage (event ) {
94+ try {
95+ const data = event .data
96+ if (data .MessageId === ' Iframe_Height' ) {
97+ document .getElementById (this .iframeName ).height = data .Values .ContentHeight
98+ }
99+ } catch (e) {
100+ console .error (' Something went wrong with post message' , e)
101+ }
102+ },
103+ },
104+
82105}
83106 </script >
84107
85108 <style scoped>
86109 .cool-frame-iframe {
87110 width : 100% ;
88111 border : none ;
89- height : 2000px ;
90112 overflow-y : auto ;
113+ box-sizing : border-box ;
114+ padding : 0 ;
115+ margin : 0 ;
91116 }
92117 </style >
You can’t perform that action at this time.
0 commit comments