- Bugfix
- Error setting text size
- Allows you to define a maximum width for the tab text.
- Bugfix
- Fields in hidden tabs continue to receive focus when pressing TAB.
- Highlighting the tab's drop position.
- Allow dragging to reorder tabs to the last position.
- Allow dragging tabs between different
TabbedView
instances. - Bugfix
- Incorrect state for the index of the highlighted tab after being closed.
- Change in the signature of
OnDraggableBuild
.- From:
(int tabIndex, TabData tabData)
- To:
(TabbedViewController controller, int tabIndex, TabData tabData)
- From:
Draggable
will always beDraggableData
type:Draggable<DraggableData>
TabsAreaThemeData
- New attribute:
dropColor
.
- New attribute:
- Tab reordering
TabbedViewController
- New methods
setTabs
reorderTab
selectedTab
- New attribute:
reorderEnable
- New methods
- New callback:
OnReorder
TabThemeData
- New attributes
draggingDecoration
draggingOpacity
- New attributes
TabData
- New attribute:
draggable
- New attribute:
- New class:
DraggableConfig
- New typedef:
OnDraggableBuild
TabbedView
- The
draggableTabBuilder
has been replaced byonDraggableBuild
- Automatic creation of a
Draggable<TabData>
- Automatic creation of a
- The
TabData
- The
uniqueKey
attribute has been renamed tokey
.
- The
- Minimum sdk version required: 2.19.0
From:
TabbedView tabbedView = TabbedView(
controller: _controller,
draggableTabBuilder: (int tabIndex, TabData tab, Widget tabWidget) {
return Draggable<String>(
child: tabWidget,
feedback: Material(
child: Container(
child: Text(tab.text),
padding: EdgeInsets.all(4),
decoration: BoxDecoration(border: Border.all()))),
data: tab.text,
dragAnchorStrategy: (Draggable<Object> draggable,
BuildContext context, Offset position) {
return Offset.zero;
});
});
To:
TabbedView tabbedView = TabbedView(
controller: _controller,
onDraggableBuild: (int tabIndex, TabData tabData) {
return DraggableConfig(
feedback: Container(
child: Text(tabData.text),
padding: EdgeInsets.all(4),
decoration: BoxDecoration(border: Border.all())));
});
- Removing the use of deprecated constructor.
- Tab leading widget
- Adding properties
TabbedView.tabsAreaVisible
TabsAreaThemeData.visible
ContentAreaThemeData.decorationNoTabsArea
- Bugfix
- Implementing
hashCode
and==
of the theme data.
- Implementing
- Stopping using deprecated
hashValues
method.
- Renaming
MenuThemeData
toTabbedViewMenuThemeData
- Avoiding conflict with next Flutter version.
- Formatting code.
- Adding interceptor for tab selection.
- Adding
getTabByIndex
method inTabbedViewController
. - Allowing update the following
TabData
attributes:buttons
,closable
,content
,text
andvalue
.
- Bugfix
- Removing theme settings values equal to inherited ones
- Mobile theme
tab.highlightedStatus.decoration
tab.selectedStatus.decoration
- Mobile theme
- Removing theme settings values equal to inherited ones
- Removing unused argument
normalStatus
fromTabThemeData
. paddingWithoutButton
setting inTabThemeData
andTabStatusThemeData
- Removing unnecessary imports
- API change
ButtonColors
has been split intonormalButtonColor
,hoverButtonColor
anddisabledButtonColor
- New buttons theme configurations:
buttonPadding
,normalButtonBackground
,hoverButtonBackground
anddisabledButtonBackground
- Default themes have been changed to use buttons decoration
- Bug fix
- Selected tab not being painted on top
- Changed mouse cursor over selected tab
- Padding added to path icons to conform to Material Design standards
- Gap of the buttons removed from the default themes
- API change
IconProvider
to hold anIconPath
or anIconData
in the themes andTabButton
- README update
- New icons
- Default themes adjustments, such as gaps and paddings
buttonsGap
setting inTabsAreaThemeData
IconPath
to be used in icons drawingiconSize
setting inTabButton
- API changes
minimalIconSize
anddefaultIconSize
constants moved fromTabbedViewThemeData
toTabbedViewThemeConstants
ButtonsAreaThemeData
attributes moved toTabsAreaThemeData
TabButton
icon
parameter renamed toiconData
TabsAreaThemeData
closeButtonIcon
renamed tocloseIconData
hiddenTabsMenuButtonIcon
renamed tomenuIconData
tab
attribute moved toTabbedViewThemeData
closeIconData
attribute moved toTabThemeData
closeIconPath
attribute moved toTabThemeData
TabButton
padding
- API changes
menuBuilder
has been removed fromTabbedViewController
- Bug fix
- Error building menu with empty list of
TabbedViewMenuItem
- Error building menu with empty list of
- API changes
OnTabClosing
typedef renamed toTabCloseInterceptor
- Added
OnTabClose
typedef
- API changes
TabbedViewTheme
refactored to be a widget following the same pattern used by Flutter'sTheme
- Old theme classes have been renamed
TabbedViewTheme
toTabbedViewThemeData
TabsAreaTheme
toTabsAreaThemeData
ContentAreaTheme
toContentAreaThemeData
MenuTheme
toMenuThemeData
ButtonsAreaTheme
toButtonsAreaThemeData
TabTheme
toTabThemeData
TabStatusTheme
toTabStatusThemeData
- Bug fix
- Tabs area overflow
- Feature for clipping tab content
- Bug fix
- Tab area without performing the layout after tab selection
- Bug fix
- Tabs area overflow
- Added
keepAlive
parameter to prevent loss of tab content state due to tree change during tab selection event.
- Bug fix
- Overlap between tabs and button area
- Class name has been fixed (how embarrassing)
TabbedWiew
has been renamed toTabbedView
- README update
- Draggable tab builder
- Bug fix
- Divisor between tabs and content starting drawing at wrong offset
- README update
- README update
- Final version
- Tabs area buttons builder
- Theme changes
light
theme has been renamed toclassic
theme
- Theme changes
- Theme changes
- Documentation
- Menu builder
TabbedWiewModel
has been changed toTabbedWiewController
- API has been changed to simplify changing themes
- Theme changes
- New themes
- First version
- Package creation