Skip to content

Commit

Permalink
Additional props (#2182)
Browse files Browse the repository at this point in the history
* NavigationBar.tooltip

* Card.shape

* NavRail props

* NavRail props

* BottomSheet props
  • Loading branch information
ndonkoHenri authored Dec 4, 2023
1 parent f921a6d commit 6dd23da
Show file tree
Hide file tree
Showing 8 changed files with 88 additions and 2 deletions.
4 changes: 4 additions & 0 deletions package/lib/src/controls/bottom_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import '../actions.dart';
import '../flet_app_services.dart';
import '../models/control.dart';
import '../protocol/update_control_props_payload.dart';
import '../utils/colors.dart';
import 'create_control.dart';
import 'error.dart';

Expand Down Expand Up @@ -95,6 +96,9 @@ class _BottomSheetControlState extends State<BottomSheetControl> {
return content;
},
isDismissible: dismissible,
backgroundColor: HexColor.fromString(Theme.of(context),
widget.control.attrString("bgColor", "")!),
elevation: widget.control.attrDouble("elevation"),
isScrollControlled: isScrollControlled,
enableDrag: enableDrag,
showDragHandle: showDragHandle,
Expand Down
2 changes: 2 additions & 0 deletions package/lib/src/controls/card.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';

import '../models/control.dart';
import '../utils/borders.dart';
import '../utils/colors.dart';
import '../utils/edge_insets.dart';
import 'create_control.dart';
Expand Down Expand Up @@ -31,6 +32,7 @@ class CardControl extends StatelessWidget {
context,
Card(
elevation: control.attrDouble("elevation"),
shape: parseOutlinedBorder(control, "shape"),
margin: parseEdgeInsets(control, "margin"),
color: HexColor.fromString(
Theme.of(context), control.attrString("color", "")!),
Expand Down
1 change: 1 addition & 0 deletions package/lib/src/controls/navigation_bar.dart
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ class _NavigationBarControlState extends State<NavigationBarControl> {
.where((c) => c.name == "selected_icon_content");

return NavigationDestination(
tooltip: destView.control.attrString("tooltip", "")!,
icon: iconContentCtrls.isNotEmpty
? createControl(destView.control,
iconContentCtrls.first.id, disabled)
Expand Down
5 changes: 5 additions & 0 deletions package/lib/src/controls/navigation_rail.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import '../models/app_state.dart';
import '../models/control.dart';
import '../models/controls_view_model.dart';
import '../protocol/update_control_props_payload.dart';
import '../utils/borders.dart';
import '../utils/colors.dart';
import '../utils/edge_insets.dart';
import '../utils/icons.dart';
Expand Down Expand Up @@ -103,12 +104,16 @@ class _NavigationRailControlState extends State<NavigationRailControl> {
labelType:
extended ? NavigationRailLabelType.none : labelType,
extended: extended,
elevation: widget.control.attrDouble("elevation", 0),
indicatorShape: parseOutlinedBorder(widget.control, "indicatorShape"),
minWidth: widget.control.attrDouble("minWidth"),
minExtendedWidth:
widget.control.attrDouble("minExtendedWidth"),
groupAlignment: widget.control.attrDouble("groupAlignment"),
backgroundColor: HexColor.fromString(Theme.of(context),
widget.control.attrString("bgColor", "")!),
indicatorColor: HexColor.fromString(Theme.of(context),
widget.control.attrString("indicatorColor", "")!),
leading: leadingCtrls.isNotEmpty
? createControl(
widget.control, leadingCtrls.first.id, disabled)
Expand Down
24 changes: 23 additions & 1 deletion sdk/python/packages/flet-core/src/flet_core/bottom_sheet.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from typing import Any, List, Optional

from flet_core.control import Control
from flet_core.control import Control, OptionalNumber
from flet_core.ref import Ref


Expand Down Expand Up @@ -60,6 +60,8 @@ def __init__(
# Specific
#
open: bool = False,
elevation: OptionalNumber = None,
bgcolor: Optional[str] = None,
dismissible: Optional[bool] = None,
enable_drag: Optional[bool] = None,
show_drag_handle: Optional[bool] = None,
Expand All @@ -79,6 +81,8 @@ def __init__(
self.__content: Optional[Control] = None

self.open = open
self.elevation = elevation
self.bgcolor = bgcolor
self.dismissible = dismissible
self.enable_drag = enable_drag
self.show_drag_handle = show_drag_handle
Expand Down Expand Up @@ -107,6 +111,24 @@ def open(self) -> Optional[bool]:
def open(self, value: Optional[bool]):
self._set_attr("open", value)

# elevation
@property
def elevation(self) -> OptionalNumber:
return self._get_attr("elevation")

@elevation.setter
def elevation(self, value: OptionalNumber):
self._set_attr("elevation", value)

# bgcolor
@property
def bgcolor(self):
return self._get_attr("bgColor")

@bgcolor.setter
def bgcolor(self, value):
self._set_attr("bgColor", value)

# dismissible
@property
def dismissible(self) -> Optional[bool]:
Expand Down
13 changes: 13 additions & 0 deletions sdk/python/packages/flet-core/src/flet_core/card.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from typing import Any, Optional, Union

from flet_core import OutlinedBorder
from flet_core.constrained_control import ConstrainedControl
from flet_core.control import Control, OptionalNumber
from flet_core.ref import Ref
Expand Down Expand Up @@ -93,6 +94,7 @@ def __init__(
color: Optional[str] = None,
shadow_color: Optional[str] = None,
surface_tint_color: Optional[str] = None,
shape: Optional[OutlinedBorder] = None,
):
ConstrainedControl.__init__(
self,
Expand Down Expand Up @@ -130,13 +132,15 @@ def __init__(
self.color = color
self.shadow_color = shadow_color
self.surface_tint_color = surface_tint_color
self.shape = shape

def _get_control_name(self):
return "card"

def _before_build_command(self):
super()._before_build_command()
self._set_attr_json("margin", self.__margin)
self._set_attr_json("shape", self.__shape)

def _get_children(self):
children = []
Expand Down Expand Up @@ -190,6 +194,15 @@ def surface_tint_color(self):
def surface_tint_color(self, value):
self._set_attr("surfaceTintColor", value)

# shape
@property
def shape(self) -> Optional[OutlinedBorder]:
return self.__shape

@shape.setter
def shape(self, value: Optional[OutlinedBorder]):
self.__shape = value

# content
@property
def content(self) -> Optional[Control]:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ def __init__(
selected_icon: Optional[str] = None,
selected_icon_content: Optional[Control] = None,
label: Optional[str] = None,
tooltip: Optional[str] = None,
):
Control.__init__(self, ref=ref)
Control.__init__(self, ref=ref, tooltip=tooltip)
self.label = label
self.icon = icon
self.__icon_content: Optional[Control] = None
Expand Down
38 changes: 38 additions & 0 deletions sdk/python/packages/flet-core/src/flet_core/navigation_rail.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from enum import Enum
from typing import Any, List, Optional, Union

from flet_core import OutlinedBorder
from flet_core.constrained_control import ConstrainedControl
from flet_core.control import Control, OptionalNumber
from flet_core.ref import Ref
Expand Down Expand Up @@ -222,10 +223,13 @@ def __init__(
#
# NavigationRail-specific
destinations: Optional[List[NavigationRailDestination]] = None,
elevation: OptionalNumber = None,
selected_index: Optional[int] = None,
extended: Optional[bool] = None,
label_type: Optional[NavigationRailLabelType] = None,
bgcolor: Optional[str] = None,
indicator_color: Optional[str] = None,
indicator_shape: Optional[OutlinedBorder] = None,
leading: Optional[Control] = None,
trailing: Optional[Control] = None,
min_width: OptionalNumber = None,
Expand Down Expand Up @@ -263,9 +267,12 @@ def __init__(

self.destinations = destinations
self.selected_index = selected_index
self.elevation = elevation
self.extended = extended
self.label_type = label_type
self.bgcolor = bgcolor
self.indicator_color = indicator_color
self.indicator_shape = indicator_shape
self.__leading = None
self.leading = leading
self.__trailing = trailing
Expand All @@ -278,6 +285,10 @@ def __init__(
def _get_control_name(self):
return "navigationrail"

def _before_build_command(self):
super()._before_build_command()
self._set_attr_json("indicatorShape", self.__indicator_shape)

def _get_children(self):
children = []
if self.__leading:
Expand Down Expand Up @@ -332,6 +343,24 @@ def label_type(self, value: Optional[NavigationRailLabelType]):
def __set_label_type(self, value: NavigationRailLabelTypeString):
self._set_attr("labelType", value)

# indicator_shape
@property
def indicator_shape(self) -> Optional[OutlinedBorder]:
return self.__indicator_shape

@indicator_shape.setter
def indicator_shape(self, value: Optional[OutlinedBorder]):
self.__indicator_shape = value

# indicator_color
@property
def indicator_color(self):
return self._get_attr("indicatorColor")

@indicator_color.setter
def indicator_color(self, value):
self._set_attr("indicatorColor", value)

# bgcolor
@property
def bgcolor(self):
Expand All @@ -341,6 +370,15 @@ def bgcolor(self):
def bgcolor(self, value):
self._set_attr("bgcolor", value)

# elevation
@property
def elevation(self) -> OptionalNumber:
return self._get_attr("elevation")

@elevation.setter
def elevation(self, value: OptionalNumber):
self._set_attr("elevation", value)

# extended
@property
def extended(self) -> Optional[bool]:
Expand Down

0 comments on commit 6dd23da

Please sign in to comment.