-
-
Notifications
You must be signed in to change notification settings - Fork 529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Docs issues to be fixed before 1.5.0 #7126
Comments
6. Make Pyodide code blocks work (importShim is not defined, unsupported in polyfill mode)When I check https://holoviz-dev.github.io/panel/reference/custom_components/AnyWidgetComponent.html, I see |
7. Consider enabling
|
8. Document how to not sync JSComponent parametersWith AnyWidget you have to actively sync paramter values between python and Javascript. With Panel this is automatic. And we have no documented way to turn this of. We have seen use cases with Please find solution and document. Would it be an idea to support a |
9. Support css sharing between
|
10. Update
|
11. Review https://holoviz-dev.github.io/panel/how_to/migrate/anywidget/index.htmlMany things has changed since created. Please review the content such that its correct. Please also consider the questions below
|
12. Fix document did not publish any contentsThe example in https://holoviz-dev.github.io/panel/how_to/custom_components/examples/esm_leaflet.html does mark some objects import param
import pandas as pd
import panel as pn
import numpy as np
from panel.custom import JSComponent
class LeafletHeatMap(JSComponent):
attribution = param.String(doc="Tile source attribution.")
blur = param.Integer(default=18, bounds=(5, 50), doc="Amount of blur to apply to heatmap")
center = param.XYCoordinates(default=(0, 0), doc="The center of the map.")
data = param.DataFrame(doc="The heatmap data to plot, should have 'x', 'y' and 'value' columns.")
tile_url = param.String(doc="Tile source URL with {x}, {y} and {z} parameter")
min_alpha = param.Number(default=0.2, bounds=(0, 1), doc="Minimum alpha of the heatmap")
radius = param.Integer(default=25, bounds=(5, 50), doc="The radius of heatmap values on the map")
x = param.String(default='longitude', doc="Column in the data with longitude coordinates")
y = param.String(default='latitude', doc="Column in the data with latitude coordinates")
value = param.String(doc="Column in the data with the data values")
zoom = param.Integer(default=13, bounds=(0, 21), doc="The plots zoom-level")
_esm = """
import L from "https://esm.sh/[email protected]"
import * as Lheat from "https://esm.sh/[email protected]"
function get_records(model) {
const records = []
for (let i=0; i<model.data.index.length; i++)
records.push([model.data[model.y][i], model.data[model.x][i], model.data[model.value][i]])
return records
}
export function render({ model, el }) {
const map = L.map(el).setView(model.center, model.zoom);
map.on('change:zoom', () => { model.zoom = map.getZoom() })
const tileLayer = L.tileLayer(model.tile_url, {
attribution: model.attribution,
maxZoom: 21,
tileSize: 512,
zoomOffset: -1,
}).addTo(map)
model.on("after_render", () => {
console.log(Lheat)
map.invalidateSize()
const data = get_records(model)
const heatLayer = L.heatLayer(
data, {
blur: model.blur,
radius: model.radius,
max: 10,
minOpacity: model.min_alpha
}).addTo(map)
model.on(['blur', 'min_alpha', 'radius'], () => {
heatLayer.setOptions({
blur: model.blur,
minOpacity: model.min_alpha,
radius: model.radius,
})
})
model.on('change:data', () => heatLayer.setLatLngs(get_records(model)))
})
}"""
_stylesheets = ['https://unpkg.com/[email protected]/dist/leaflet.css']
pn.extension(template='bootstrap')
url = "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_month.csv"
earthquakes = pd.read_csv(url)
heatmap = LeafletHeatMap(
attribution='Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
data=earthquakes[['longitude', 'latitude', 'mag']],
min_height=500,
tile_url='https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}.jpg',
radius=30,
sizing_mode='stretch_both',
value='mag',
zoom=2,
)
description=pn.pane.Markdown(f'## Earthquakes between {earthquakes.time.min()} and {earthquakes.time.max()}\n\n[Data Source]({url})', sizing_mode="stretch_width")
pn.Column(
description,
pn.Row(
heatmap.controls(['blur', 'min_alpha', 'radius', 'zoom']).servable(target='sidebar'),
heatmap.servable(),
sizing_mode='stretch_both'
),
sizing_mode='stretch_both'
) The example in https://holoviz-dev.github.io/panel/how_to/custom_components/examples/esm_material_ui.html has the same problem. |
13. Add missing styles to Material UI examplesTrying to run the example https://holoviz-dev.github.io/panel/how_to/custom_components/examples/esm_material_ui.html I can see that it does not look anything like Material UI components. They are not styled. You probably need to look at https://mui.com/material-ui/getting-started/installation/#cdn |
14. Fix errors and exceptions in docs build logs.Looking at the logs of a docs build there are many. These should be fixed. And even better the build should fail if there are errors. For an example look at https://github.com/holoviz/panel/actions/runs/10283240592/job/28456655577. |
15.
|
16. Finalize Chat layout changeI tried out Panel 1.5.0b8 with the ChatInterface and to me the layout change seems unfinished. At least as a user I have a lot of questions.
I would suggestions aligning the time, copy icon and loading circle on the same line below the chat interface. And removing the vertical bar unless something is shown on the right of it. As an alternative align the green circle left, right next to the name of the user. Might be better UX. |
The green circle in the middle is definitely unintended; it's supposed to be next to the user name. The vertical line is to divide the copy icon from the reaction icons. The time and icon on separate lines is intended. Imo looks better that way |
Haven't seen that but let's fix that asap.
It shouldn't be there if there's no reaction icons though. |
Have you tried different browsers? I think @MarcSkovMadsen uses Edge. |
Maybe something is off with Marc's user string? Lots of spaces maybe? |
I think I was able to reproduce with |
Add missing
|
18. Enable Marc to create PY.CAFE Panel user and migrate examples to that userSee #7183 |
Should #6819 go in for 1.5.0? |
20. Deprecate fastapi embed guide.The guide at https://holoviz-dev.github.io/panel/how_to/integrations/FastAPI_Tornado.html is now superseeded by https://holoviz-dev.github.io/panel/how_to/integrations/FastAPI.html. We should delete the deprecated guide or make it very clear its deprecated. |
21. Update Custom Components Explanationhttps://holoviz-dev.github.io/panel/explanation/components/reactive_html_components.html is marketed as custom components explanation. It no longer is a good explanation now that we have esm components. |
@MarcSkovMadsen: You marked
as fixed - is this fix already included in panel 1.5.5 ? |
I think someone else marked it solved. @philippjfr ? |
I will start reviewing the docs via https://holoviz-dev.github.io/panel.
I will use this issue to list things I can't or should not fix.
I will fix a lot of other things in #7127.
Todo (not for me)
The issues below are explained in more depth in comments below!
Custom_Components
to bottom of indexCustom_Components
.pn.custom.AnyWidgetComponent
usageAnyWidget
andAnyWidgetComponent
AnyWidget
efficiency comment.DiscretePlayer
brokenFileDropper
thumbnailThe text was updated successfully, but these errors were encountered: