Coloring's picture
fix: 0.x => 1.0
e841ba5
raw
history blame
2.62 kB
import gradio as gr
import modelscope_studio.components.antd as antd
import modelscope_studio.components.base as ms
data = [{
'avatar':
f'https://api.dicebear.com/7.x/miniavs/svg?seed={i}',
"link": {
"href": "https://ant.design",
"value": f"ant design part {i}"
},
"meta": {
'description':
'Ant Design, a design language for background applications, is refined by Ant UED Team.',
},
'content':
'We supply a series of design principles, practical patterns and high quality design resources (Sketch and Axure), to help people create their product prototypes beautifully and efficiently.'
} for i in range(10)]
page_size = 3
def IconText(icon: str, text: str):
with antd.Space():
antd.Icon(icon)
ms.Text(text)
def on_pagination_change(e: gr.EventData):
current = e._data["payload"][0]
return gr.update(value=data[(current - 1) * 3:current * 3])
with gr.Blocks() as demo:
with ms.Application():
with antd.ConfigProvider():
with antd.List(item_layout="vertical",
size="large",
pagination=dict(total=len(data),
pageSize=page_size)) as list:
with ms.Slot("footer"):
with ms.Div():
antd.Typography.Text('ant design', strong=True)
ms.Text("footer part")
with ms.Each(value=data[0:3]) as list_items:
with antd.List.Item():
with ms.Slot("actions"):
IconText('StarOutlined', 156)
IconText('LikeOutlined', 156)
IconText('MessageOutlined', 2)
with ms.Slot("extra"):
antd.Image(
"https://gw.alipayobjects.com/zos/rmsportal/mqaQswcyDLcXyDKnZfES.png",
preview=False,
alt="logo",
width=272)
with antd.List.Item.Meta(as_item="meta"):
with ms.Slot("avatar"):
antd.Avatar(as_item="avatar")
with ms.Slot("title"):
antd.Typography.Link(as_item="link")
ms.Text(as_item="content")
list.pagination_change(fn=on_pagination_change,
outputs=[list_items])
if __name__ == "__main__":
demo.queue().launch()