Spaces:
Running
Running
File size: 1,045 Bytes
a9340d4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
// Borrowed minimalistic Streamlit API from Thiago
// https://discuss.streamlit.io/t/code-snippet-create-components-without-any-frontend-tooling-no-react-babel-webpack-etc/13064
function sendMessageToStreamlitClient(type, data) {
console.log(type, data);
const outData = Object.assign(
{
isStreamlitMessage: true,
type: type,
},
data
);
window.parent.postMessage(outData, '*');
}
const Streamlit = {
setComponentReady: function () {
sendMessageToStreamlitClient('streamlit:componentReady', { apiVersion: 1 });
},
setFrameHeight: function (height) {
sendMessageToStreamlitClient('streamlit:setFrameHeight', { height: height });
},
setComponentValue: function (value) {
sendMessageToStreamlitClient('streamlit:setComponentValue', { value: value });
},
RENDER_EVENT: 'streamlit:render',
events: {
addEventListener: function (type, callback) {
window.addEventListener('message', function (event) {
if (event.data.type === type) {
event.detail = event.data;
callback(event);
}
});
},
},
};
|