Comments (5)
Seems to be because something is setting max_height: 100%
. Looking into it.
from panel.
I may have overridden that value in ChatMessage CSS, so it's possible that you can also workaround it with stylesheets
Maybe max-height: none
from panel.
The immediate cause is this bit of code in Bokeh
which does not seem quite correct to me.
from panel.
I may have overridden that value in ChatMessage CSS, so it's possible that you can also workaround it with
stylesheets
Maybe
max-height: none
Appreciate the heads up, Andrew.
How are you handling the auto-scroll aspect?
This does partly seem to work as expected:
import panel as pn
import time
chat_column = pn.Column(height=200, width=400, scroll=True)
chat_input = pn.widgets.TextInput(placeholder='Type your message here...')
send_button = pn.widgets.Button(name='Send', button_type='primary')
def send_message(event):
message = chat_input.value
if message:
message_pane = pn.pane.Markdown(
'',
stylesheets=["""
:host {
max-height: none;
}
"""])
chat_column.append(message_pane)
for word in message.split():
message_pane.object += word + " "
time.sleep(0.01)
chat_input.value = ''
send_button.on_click(send_message)
pn.Column(chat_column, pn.Row(chat_input, send_button)).servable()
no_overlap_max_height_none.mp4
from panel.
It's done in the typescript side. Perhaps instead of watching for children, it should watch for scroll length from the bottom?
Line 14 in 01c4538
Maybe you can help contribute a fix for this if you're interested and we can get it for Panel 1.5.0
from panel.
Related Issues (20)
- Make label on the checkbox itself interactive
- Dynamically Adjusting Spacing in Panel MultiChoice Widget
- Tabulator header_filter with multiselect enabled: AttributeError HOT 4
- 'katex' extension was not loaded
- pixi run test-example picks up old Panel code version HOT 7
- Fail test_textual.py due to recent textual._xterm_parser.XTermParser change HOT 2
- Flaky UI tests for ToggleIcon and Tabulator on MacOS HOT 4
- pixi run docs-build missing Webdriver HOT 4
- Mention JSComponent in Explanation/Components docs? HOT 7
- Docs issues to be fixed before 1.5.0 HOT 13
- ChatInterface prompt for user input method
- ReactiveHTML Param Watcher: Coroutine never awaited.
- interface.serialize() should be able to pass prefix_with_viewable_label
- Can't use templates from Jupyter Notebook or JupyterLab HOT 2
- Jupyter Notebook does not reflect latest pn.pane.Bokeh plot
- global loading spinner static asset not available
- file_dropper extension not loaded, but no file_dropper extension after adding
- FileDropper accepted_filetypes doesn't seem to properly validate
- Restructure ChatMessage UI layout?
- Terminal widget set as `sys.stdout` does *not* write to terminal in synchronous functions and is delayed in appearing, using Jupyter notebook
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from panel.