def test_searchbox_add(): sb = SearchBox(value='', placeholder="search for something", underlined=True, icon='icon1', icon_color='color1', data='data1', on_change=False) assert isinstance(sb, pglet.Control) assert isinstance(sb, pglet.SearchBox) assert sb.get_cmd_str() == ('searchbox data="data1" icon="icon1" iconColor="color1" ' 'onChange="false" placeholder="search for something" underlined="true" value=""'), "Test failed"
def test_searchbox_add(): sb = SearchBox( value="", placeholder="search for something", underlined=True, icon="icon1", icon_color="color1", data="data1", ) assert isinstance(sb, pglet.Control) assert isinstance(sb, pglet.SearchBox) assert sb.get_cmd_str() == [ Command( indent=0, name=None, values=["searchbox"], attrs={ "data": "data1", "icon": "icon1", "iconcolor": "color1", "onchange": "false", "placeholder": "search for something", "underlined": "true", "value": "", }, lines=[], commands=[], ) ], "Test failed"
def searchboxes(): return Stack( gap=20, controls=[ Stack( horizontal=True, gap=25, controls=[ Stack(controls=[ Text("Default searchbox", size="xLarge"), SearchBox(), ]), Stack(controls=[ Text("Underlined SearchBox", size="xLarge"), SearchBox(underlined=True, placeholder="Search files and folders"), ]), ], ), Stack( horizontal=True, gap=25, controls=[ Stack(controls=[ Text("Disabled SearchBox", size="xLarge"), SearchBox(disabled=True, placeholder="Search something..."), SearchBox( underlined=True, disabled=True, placeholder="Search something...", ), ]), Stack(controls=[ Text("SearchBox with custom icon", size="xLarge"), SearchBox( placeholder="Filter something by", icon="Filter", icon_color="red", ), ]), ], ), Text("SearchBox with Search, Clear and Escape events", size="xLarge"), searchbox_with_search_clear_escape(), Text("SearchBox with Change event", size="xLarge"), searchbox_with_change(), ], )
def searchbox_with_change(): def searchbox_changed(e): t.value = f'You have searched for {sb.value}.' stack.update() sb = SearchBox(placeholder='Search something...', on_change=searchbox_changed) t = Text() stack = Stack(controls=[sb, t]) return stack
def main(page): icon_names = load_icon_names() page.title = "Icon Browser" page.horizontalAlign = 'stretch' page.update() def search_icons(search_name): found_icon_names = [] if search_name == None: found_icon_names = icon_names else: for icon_name in icon_names: if search_name.lower() in icon_name.lower(): found_icon_names.append(icon_name) return found_icon_names def enter_clicked(e): icons = get_icons(search_box.value) search_result.controls.clear() search_result.controls.extend(icons) page.update() #add stack controls each with Icon and Text def get_icons(search_name): icons = [] found_icon_names = search_icons(search_name) for icon_name in found_icon_names: s = Stack(horizontal_align='center', vertical_align='center', width=100, height=100, border='solid 1px #eee', border_radius='3', controls=[ Icon(name=icon_name, size='40', color='#555'), Text(value=icon_name, size='small') ]) icons.append(s) return icons icons = get_icons(None) search_result = Stack(horizontal=True, wrap=True, controls=icons) search_box = SearchBox(id='searchbox', width='100%', placeholder='Search icons', on_search=enter_clicked) page.add(search_box, search_result)
def searchbox_with_search_clear_escape(): def enter_clicked(e): messages.controls.append(Text(f'You have searched for {sb.value}.')) sb.value = '' stack.update() def clear_or_esc_clicked(e): messages.controls.append(Text('You have cleared the box.')) stack.update() sb = SearchBox(placeholder='Search something and click Enter, X or Esc', on_search=enter_clicked, on_clear=clear_or_esc_clicked) messages = Stack() stack = Stack(controls=[sb, messages]) return stack
def main(self): global icon_names self.page.update(Page(title="Icon browser")) self.page.clean() def search_icons(search_name): found_icon_names = [] if search_name==None: found_icon_names = icon_names else: for icon_name in icon_names: if search_name.lower() in icon_name.lower(): found_icon_names.append(icon_name) return found_icon_names def searchbox_changed(e): search_name = self.page.get_value('searchbox') stack_controls = get_stack_controls(search_name) self.page.replace(stack_controls, to=result_stack) #print('Seachbox changed to ' + search_name) def enter_clicked(e): search_name = self.page.get_value('searchbox') stack_controls = get_stack_controls(search_name) self.page.replace(stack_controls, to=result_stack) #print('Seachbox changed to ' + search_name) #add stack controls each with Icon and Text def get_stack_controls(search_name): stack_controls = [] found_icon_names = search_icons(search_name) for icon_name in found_icon_names: s = Stack(controls=[ Icon(name = icon_name), Text(value = icon_name) ]) stack_controls.append(s) return stack_controls stack_controls = get_stack_controls(None) result_stack = Stack(controls=stack_controls) self.page.add(SearchBox(id='searchbox', onchange=searchbox_changed, onsearch=enter_clicked, on_change=True), result_stack) self.page.wait_close()
nav.Item('item1.1.2') ]), nav.Item('item1.2') ]), nav.Item('Item2'), nav.Item('Item3'), ], onchange=navitem_changed, onexpand=navitem_expanded, oncollapse=navitem_collapsed)) page.add( SearchBox(value='', placeholder='search for something', underlined=True, icon='mail', icon_color='red', data='data', on_change=True, onchange=searchbox_changed)) page.add( Slider(value=1, label='To what extend you agree', min=0, max=10, step=1, show_value=True, value_format='current_value is {value}', vertical=False, onchange=slider_changed))