ohmcpatel commited on
Commit
f70149d
·
verified ·
1 Parent(s): aa0b520

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -21
app.py CHANGED
@@ -6,30 +6,17 @@ def main():
6
  # Display a placeholder for the message
7
  message_placeholder = st.empty()
8
 
9
- # JavaScript code to send message to Streamlit
10
- js_code = """
11
- <script>
12
- // Send a message to Streamlit
13
- const sendMessageToStreamlit = () => {
14
- const message = "Hello from JavaScript!";
15
- window.parent.postMessage(message, "*");
16
- };
17
- // Call the function to send the message
18
- sendMessageToStreamlit();
19
- </script>
20
- """
21
-
22
- # Write the JavaScript code to the Streamlit app
23
- st.write(js_code, unsafe_allow_html=True)
24
-
25
  # Function to handle messages received from JavaScript
26
  def receive_message(event):
27
- message = event.newValue
28
- # Display the received message
29
- message_placeholder.write(f"Message received: {message}")
 
30
 
31
- # Add event listener to listen for messages from JavaScript
32
- st.script("window.addEventListener('message', receive_message);")
 
 
33
 
34
  if __name__ == '__main__':
35
  main()
 
6
  # Display a placeholder for the message
7
  message_placeholder = st.empty()
8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  # Function to handle messages received from JavaScript
10
  def receive_message(event):
11
+ if event["type"] == "message":
12
+ message = event["data"]
13
+ # Display the received message
14
+ message_placeholder.write(f"Message received: {message}")
15
 
16
+ # Add event handler to listen for messages from JavaScript
17
+ st.add_report_ctx("message_ctx")
18
+ message_ctx = st.report_ctx.get_report_ctx().enqueue("message_ctx")
19
+ message_ctx.add_callback(receive_message)
20
 
21
  if __name__ == '__main__':
22
  main()