Update app.py
Browse files
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 |
-
|
| 28 |
-
|
| 29 |
-
|
|
|
|
| 30 |
|
| 31 |
-
# Add event
|
| 32 |
-
st.
|
|
|
|
|
|
|
| 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()
|