-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy path__init__.py
More file actions
210 lines (195 loc) · 7.45 KB
/
__init__.py
File metadata and controls
210 lines (195 loc) · 7.45 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
from __future__ import annotations
from typing import Any, Literal
from gradio.events import EventListener
from ....utils.dev import ModelScopeDataLayoutComponent, resolve_frontend_dir
from .preset import AntdDatePickerPreset
from .range_picker import AntdDatePickerRangePicker
# aas inputs, outputs
class AntdDatePicker(ModelScopeDataLayoutComponent):
"""
Ant Design: https://ant.design/components/date-picker
"""
Preset = AntdDatePickerPreset
RangePicker = AntdDatePickerRangePicker
EVENTS = [
EventListener("change",
callback=lambda block: block._internal.update(
bind_change_event=True)),
EventListener(
"ok",
callback=lambda block: block._internal.update(bind_ok_event=True)),
EventListener("panel_change",
callback=lambda block: block._internal.update(
bind_panelChange_event=True)),
EventListener("open_change",
callback=lambda block: block._internal.update(
bind_openChange_event=True)),
]
# supported slots
SLOTS = [
'allowClear.clearIcon',
'prefix',
'prevIcon',
'nextIcon',
'suffixIcon',
'superNextIcon',
'superPrevIcon',
'renderExtraFooter',
'cellRender',
'panelRender',
'tagRender',
]
def __init__(
self,
value: str | int | float | list[str | int | float] | None = None,
additional_props: dict | None = None,
*,
allow_clear: bool | dict = True,
auto_focus: bool | None = None,
tag_render: str | None = None,
cell_render: str | None = None,
components: dict | None = None,
disabled: bool | None = None,
disabled_date: str | None = None,
format: str | list[str] | None = None,
order: bool = True,
preserve_invalid_on_blur: bool | None = None,
input_read_only: bool | None = None,
locale: dict | None = None,
mode: Literal['time', 'date', 'month', 'year', 'decade']
| None = None,
need_confirm: bool | None = None,
next_icon: str | None = None,
open: bool | None = None,
panel_render: str | None = None,
picker: Literal['date', 'week', 'month', 'quarter',
'year'] = 'date',
placement: Literal['bottomLeft', 'bottomRight', 'topLeft',
'topRight'] = 'bottomLeft',
placeholder: str | None = None,
popup_class_name: str | None = None,
popup_style: dict | None = None,
get_popup_container: str | None = None,
min_date: str | int | float | None = None,
max_date: str | int | float | None = None,
prefix: str | None = None,
prev_icon: str | None = None,
size: Literal['large', 'middle', 'small'] | None = None,
presets: list[dict] | None = None,
status: Literal['error', 'warning'] | None = None,
suffix_icon: str | None = None,
super_next_icon: str | None = None,
super_prev_icon: str | None = None,
variant: Literal['outlined', 'borderless', 'filled', 'underlined']
| None = None,
default_picker_value: str | int | float | None = None,
default_value: str | int | float | None = None,
disabled_time: str | None = None,
multiple: bool | None = None,
picker_value: str | int | float | None = None,
render_extra_footer: str | None = None,
show_now: bool | None = None,
show_time: bool | dict | None = None,
show_week: bool | None = None,
preview_value: 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):
super().__init__(value=value,
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.order = order
self.preserve_invalid_on_blur = preserve_invalid_on_blur
self.components = components
self.locale = locale
self.allow_clear = allow_clear
self.auto_focus = auto_focus
self.tag_render = tag_render
self.cell_render = cell_render
self.disabled = disabled
self.disabled_date = disabled_date
self.format = format
self.input_read_only = input_read_only
self.mode = mode
self.need_confirm = need_confirm
self.next_icon = next_icon
self.open = open
self.panel_render = panel_render
self.picker = picker
self.placement = placement
self.placeholder = placeholder
self.popup_class_name = popup_class_name
self.popup_style = popup_style
self.get_popup_container = get_popup_container
self.min_date = min_date
self.max_date = max_date
self.prefix = prefix
self.prev_icon = prev_icon
self.size = size
self.presets = presets
self.status = status
self.suffix_icon = suffix_icon
self.super_next_icon = super_next_icon
self.super_prev_icon = super_prev_icon
self.variant = variant
self.default_picker_value = default_picker_value
self.default_value = default_value
self.disabled_time = disabled_time
self.multiple = multiple
self.picker_value = picker_value
self.render_extra_footer = render_extra_footer
self.show_now = show_now
self.show_time = show_time
self.show_week = show_week
self.preview_value = preview_value
self.root_class_name = root_class_name
FRONTEND_DIR = resolve_frontend_dir("date-picker")
@property
def skip_api(self):
return False
def api_info(self) -> dict[str, Any]:
return {
"anyOf": [{
"type": "number"
}, {
"type": "string"
}, {
"type": "array",
"items": {
"anyOf": [{
"type": "number"
}, {
"type": "string"
}]
}
}]
}
def preprocess(
self, payload: str | int | float | list[str | int | float]
) -> str | int | float | list[str | int | float]:
return payload
def postprocess(
self, value: str | int | float | list[str | int | float]
) -> str | int | float | list[str | int | float]:
return value
def example_payload(self) -> None:
return None
def example_value(self) -> None:
return None