-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy path__init__.py
More file actions
87 lines (73 loc) · 2.92 KB
/
__init__.py
File metadata and controls
87 lines (73 loc) · 2.92 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
from __future__ import annotations
from typing import Any
from .....utils.dev import ModelScopeLayoutComponent, resolve_frontend_dir
class AntdSplitterPanel(ModelScopeLayoutComponent):
"""
Ant Design: https://ant.design/components/splitter
Split panels to isolate.
When to use:
Can be used to separate areas horizontally or vertically. When you need to freely drag and adjust the size of each area. When you need to specify the maximum and minimum width and height of an area.
"""
EVENTS = []
def __init__(
self,
additional_props: dict | None = None,
*,
default_size: str | int | None = None,
min: int | str | None = None,
max: int | str | None = None,
size: int | str | None = None,
destroy_on_hidden: bool | None = None,
collapsible: bool | dict | None = None,
resizable: bool | None = None,
root_class_name: str | None = None,
class_names: dict | str | None = None,
styles: dict | str | None = None,
as_item: str | None = None,
_internal: None = None,
# gradio properties
visible: bool = True,
elem_id: str | None = None,
elem_classes: list[str] | str | None = None,
elem_style: dict | None = None,
render: bool = True,
**kwargs):
"""
Parameters:
default_size: Initial panel size support number for px or 'percent%' usage.
min: Minimum threshold support number for px or 'percent%' usage.
max: Maximum threshold support number for px or 'percent%' usage.
size: Controlled panel size support number for px or 'percent%' usage.
collapsible: Quick folding.
resizable: Whether to enable drag and drop.
"""
super().__init__(visible=visible,
elem_id=elem_id,
elem_classes=elem_classes,
render=render,
as_item=as_item,
elem_style=elem_style,
**kwargs)
self.class_names = class_names
self.styles = styles
self.additional_props = additional_props
self.default_size = default_size
self.min = min
self.max = max
self.size = size
self.destroy_on_hidden = destroy_on_hidden
self.collapsible = collapsible
self.resizable = resizable
self.root_class_name = root_class_name
FRONTEND_DIR = resolve_frontend_dir("splitter", 'panel')
@property
def skip_api(self):
return True
def preprocess(self, payload: None) -> None:
return payload
def postprocess(self, value: None) -> None:
return value
def example_payload(self) -> Any:
return None
def example_value(self) -> Any:
return None