flutter_slick 5.7.0 copy "flutter_slick: ^5.7.0" to clipboard
flutter_slick: ^5.7.0 copied to clipboard

Slick patterns, components, navigation and services for Flutter.

1.0.0 #

Initial release.

1.0.1 #

  • Added example application.
  • Removed implied required logic for email validator.
  • Added history trakcing in navigation.

1.1.0 #

  • Removed navigator dependency on authorization

1.1.1 #

  • Added optional space size for spaced column and row
  • Fixed some warnings

1.1.2 #

  • Changed authetication service streams to broadcast

1.1.3 #

  • Disabled color for password hidden button

1.2.3 #

  • Sending route path arguments into rewrite

1.3.1 #

  • Added "onEditingComplete" for some fields

1.3.2 #

  • Updated error message wording on LengthValidator
  • Cleanup and wording on length validators
  • Call onChanged for currency field

1.3.3 #

  • Added and organised some field parameters

1.3.4 #

  • Improved number and currency field validation

1.3.5 #

  • Handling null values for currency and number fields

1.3.6 #

  • Using color scheme for error text
  • Added autofocus option for checkbox field

1.3.7 #

  • Fixed wrapping for checkbox field

1.3.8 #

  • Downgraded dropdown search version

1.3.9 #

  • Allow comma for currency input

1.3.10 #

  • Downgraded file picker dependency for compatibility

1.3.11 #

  • Added controller configuration for text based fields

1.3.12 #

  • Added focusNode to NumberField RETRACTED

1.3.13 #

  • Added focusNode to NumberField
  • Reverted NumberField validator to version 1.3.11

1.3.14 #

-- Fixed initial value null on NumberField

1.3.15 #

-- Removed FileField as it introduces the need for additional permissions in the Apple App store and no one is using it

1.3.16 #

-- Add keyboardType to PasswordField

3.0.0 #

  • Allow NavigationItems to have children

3.1.0 #

  • Support optional forceMobileView in MediaLayout

3.1.1 #

  • Added maxLength to StandardTextField

3.1.2 #

  • Set uses-material-design to true

3.1.3 #

  • Trying to sort out RouteArguments issue

3.1.5 #

  • NavigationItem IconData is optional

3.1.7 #

  • IsSelected parameter for StandardMenuItem and addition of darken / lighten colour extensions

3.2.0 #

  • Added suppot for StandardMenuItem to be a parent menu item (allowing drawer implementations to support NavigationItem's children property)

3.4.11 #

  • Added support for tracking input control dirty state per screen route (or when manually reset)
  • Check NavigationLogic.IsDirty

3.4.13 #

  • Added inputDecoration to StandardTextField. labelText and and enabled properties are copied to the passed in inputDecoration.

3.4.14 #

  • Added google play store compliance to standard_menu_item. It will return a widget without InkWell in the case routePath is null.

3.4.15 #

  • Removed null check on InkWell onTap for standard_menu_item.

3.4.16 #

  • Moved widget builders out of main build method for standard_menu_item.

3.5.1 #

  • Add style to StandardTextField and labelText is nullable and decoration renamed

3.5.5 #

  • Added decoration and selectedDecoration to StandardMenuItem

3.5.6 #

  • Added onFocusLost to StandardTextField

3.5.7 #

  • Handling IsDirty state

3.5.8 #

  • Adding default text style to DropDownField

3.5.9 #

  • Added keyboardType to StandardTextField

3.6.2 #

  • Added StandardDurationField

4.0.0 #

  • Support for the MVVM pattern

4.0.1 #

  • Padding on dropdown

4.0.2 #

  • Fixed Duration initial value

4.0.21 #

  • Added StandardDateField

4.0.48 #

  • MVVM Pattern enhancements
  • Added some documentation
  • Applied expected dart formatting for pub.dev

4.0.49 #

  • Add readOnly to StandardTextField

4.0.50 #

  • MVVM Pattern enhancements

4.1.0 #

  • Access control features

4.1.4 #

  • Fix error messages getting cut off
  • Loading overlay support for MVVM

4.1.6 #

  • Added insetPadding to StandardDialog

4.1.7 #

  • Added contentPadding to StandardDialog

4.2.0 #

  • Added ReadOnly field widget

4.2.8 #

  • MVVM Enhancements
  • Input formatters on StandardTextField

4.2.10 #

  • Added StandardGrid for grid layouts

4.3.2 #

  • Changed StandardMenuItem and NavigationMenuItem to use icon (Widget) instead of iconData

4.3.8 #

  • Fix initState on ViewModel
  • Removed required onChanged on StandardTextField

4.3.9 #

  • Currency field and dropdown to have readOnly flag

4.3.11 #

  • Added event stream for ViewModelWidget

4.3.13 #

  • Add input to dropdown to take in TextStyle and optional labelText

4.3.14 #

  • Add InlineMultiSelectInput widget, a widget that displays a multi-select dropdown with inline chips.

4.3.15 #

  • Added navigation (NavigationLogic) to ViewModel.

4.3.16 #

  • Added TextAlign to StandardTextField.

4.3.18 #

  • Added optional search field to the dropdownField

4.3.19 #

  • Hide menu items for which the user does not have permissions

4.3.20 #

  • Add support for read only pages for list section

4.3.24 #

  • Added abiliy to pass through initialiseRoute to NavigationLogic

4.3.25 #

  • Added toggle button with words

4.3.26 #

  • Added parameters for firstDate and lastDate in StandardDateField

4.3.27 #

  • Added StaggeredGridView

4.3.28 #

  • Navigation logic update for consitency in router delegate

4.3.29 #

  • Dynamic column layout for wrapping wigets and widgets spaced by ratios

4.3.30 #

  • Add connectivity service

4.3.31 #

  • Update get_it dependency

4.3.32 #

  • Add parameter to dropdown search for ordering items

4.3.33 #

  • Allow delegate to not add items to the history

4.3.34 #

  • Route information parser can parse parameters

4.3.35 #

  • Add snakeCase to camelCase when checking for permission in url

4.3.36 #

  • Add wizard for stateless widget pages

4.3.37 #

  • Add charting widgets

4.3.38 #

  • Enhanced StandardGrid with hover effects across rows and action elements
  • Added tooltips to action rows for improved user guidance

4.3.39 #

  • Add support for striped rows in StandardGrid
  • Add support for row actions color in StandardGrid

4.3.40 #

  • Add new route formatting for permissions

4.3.41 #

  • Improved grid header for StandardGrid

4.3.42 #

  • Removed charting

4.3.43 #

  • Allow explicit styling for standard menu item headings

  • Default StandardTextFeild to have maxlines = 1

  • Add 'perRow' functionality to Dynamic Column Layout

    Dynamic Column Layout now has 3 ways of creating layouts, namely

    • Widget widths - which have the explit widths of widgets
    • Widget Ratios - where the entire horizontal space will be taken up but we can specify the ratio of one widget in relation to another (This also has mobile ratio functionality)
    • Per row - where we evenly distribute an unspefied amount of widgets to have x widgets in each row before wrapping to the next row

4.3.44 #

  • Added optional labelStyle prop for field components to allow for explicit styling of labels
  • Added optional rowBorder prop on StandardGrid, which allows for row borders e.g. divider lines
  • Added optional textStyle and selectedTextStyle prop to StandardMenuItem to allow for more fine-grained control of menu text styles.
  • Adds includeTime prop to the StandardGrid component, which allows for date and time
    • date formatting adjusted accordingly (date vs date and time)
    • showTimePicker launched after showDatePicker

4.3.47 #

  • Added onFieldSubmitted to StandardTextField

4.3.48 #

  • Added prefixIcon to StandardTextField

4.3.49 #

  • Support for crossAxisSpacing and mainAxisSpacing added to StaggeredGridView

4.3.50 #

  • Support for columnWidths in StandardGrid.
  • Increased vertical height for StandardGrid row

4.4.7 #

  • Added showInfo, showWarning, showError to ViewModel (Alpha - basically unusable right now)
  • Added AlertController for configuring overrides for showInfo, showWarning, showError
  • Added StandardElevatedButton with support for taking in an async callback, showing inline loading indictor, handling error states, showing appropriate messages etc.
  • Added StandardOutlinedButton, StandardOutlinedButton.Icon
  • Added StandardTextButton, StandardtextButton.Icon
  • Added new LoadingIndicatorStyle options (inline and blankOverlay)
  • FeatureAccessController is now initialised using a Singleton pattern

4.4.8 #

  • Add a check to router delegate to not pop an empty _history

4.4.9 #

  • Added check to filteredMenuItems to include items that have public routes

4.4.13 #

  • Added loading indicator for while rewrite code runs

4.4.14 #

  • Set state to dirty when interacting with currency feild

4.4.15 #

  • Added slick datetime, for use by openapi swagger generator

4.4.16 #

  • slick datetime more robust, set dart sdk minimum to 3.0.0

4.4.18 #

  • slick datetime runtime type override removed

4.4.19 #

  • slick datetime added util methods

4.4.20 #

  • update dynamic column layout cross axis alignment

4.4.21 #

  • add autoValidate prop to all fields; validate on focus lost

4.4.22 #

  • fix URL params bug in RouteInformationParser`

4.4.23 #

  • slick datetime now actually formatting min date properly

4.4.24 #

  • added .format and .formatCurrency as extension methods to double so you can do things like doubleVariable.formatCurrency().
  • formatCurrency supports 0 decimal places, 2 decimal places and including or not including a Symbol

4.4.25 #

  • allow setting of icon color for standard menu item

4.5.8 #

  • Support for a flexible generic url parameter passing approach.
  • If used the approach looses the strongly typed concept from the current implentation but also removes the need for a bunch of boilerplate code
  • use UrlParameterRouteBuilder instead of RouteBuilder
  • use vm.parameters instead of vm.arguments
  • setRoutePath from the route builder
  • Examples

//simplified rootPaths definition static final systemHealth = UrlParameterRouteBuilder( urlSegment: 'system-health/filter/', buildView: () => SystemHealthFiltersScreen(), rewrite: toSignIfNecessary, menuItems: MenuSetup.menuItemsForUserDashboard, );

systemHealth.setRoutePath({ "area": area.title, });

systemHealth.setRoutePath();

PathsBuilder rootPaths = PathsBuilder( ..., builders: [ RoutePaths.systemHealth, RoutePaths.systemHealthFilter.builder, //new approach ], );

//on the vm (parameters property) if (parameters["category"] != null) { await _findCategoryIdByName(parameters["category"]!); }

4.5.9 #

  • allow menu items to be highlighted based on predefined RoutePaths on NavigationItem

4.6.0 #

  • Added customization for animated transitions between screens and between mvvm loading and view.
  • Uses Materials' PageTransitionsTheme to receive transtions.
  • You can change it in the root theme (default)
  • then in RouteBuilder (per page)
  • then in ViewModelWidget (for loading)
  • For an example of implementation, look at:
    • example/lib/application.dart
    • example/lib/screens/loading_sample.dart
    • example/lib/paths/root.dart
  • Misc: ViewModel's events notify for loading and initialization event's a bit more frequently and earlier.

4.6.1 #

  • Fixed bug where non PageRoute Routes would break mvvm

4.6.2 #

  • Added indicator icon on NavigationItem

4.6.3 #

  • Bugfix to view model widget
    • Sizing bound errors from using a stack in animated switcher.
    • initialization future in vm added to widget too, as vm is only available after init has been called.
    • Router was throwing small error so did a quick fix to that

4.6.4 #

  • Fix nested view model overflow bug

4.7.0 #

  • Upgrade get_it version to 9.x

5.0.0 #

  • Migrate to go_router for routing, introducing typed routes with SlickRoute

5.0.1 #

  • Add errorBuilder

5.0.2 #

  • Improve feature access controller permission checking

5.0.3 #

  • Add NavigationLogic.isLoading
  • Add NavigationLogic.defaultMenuItems and SlickRoute.menuItems

5.0.4 #

  • Add filterMenuItems method
  • Add filteredMenuItems to NavigationLogic and SlickRoute
  • More docstring documentation

5.0.5 #

  • Added indicator icon on NavigationItem (4.6.2)

5.0.6 #

  • Bugfix to view model widget (4.6.3)

5.0.7 #

  • Fix nested view model overflow bug (4.6.4)

5.0.8 #

  • Bugfix for Feature Access Controller null check in _handleRedirect

5.0.9 #

  • Remove max count from indicator icon

5.0.10 #

  • Add initialiseRoute for global callbacks on route change

5.0.11 #

  • Fix bug that prevented query params from being added to history with goTo

5.1.0 #

  • Upgrade get_it version to 9.x (4.7.0)

5.2.0 #

  • Allow null initialValue in StandardDateField
  • Add tabItems (per-route in SlickRoute) and defaultTabITems (NavigationLogic)

5.2.1 #

  • Support widgetWidths + widgetRatiosMobile on DynamicColumnLayout

5.2.2 #

  • Wrap Alignment on DynamicColumnLayout

5.2.3 #

  • Ensure ViewModel disposes when navigate away

5.2.4 #

  • Update StandardDateField.didUpdateWidget to change controller text in post frame callback

5.3.0 #

  • Added breadcrumb navigation component and service

5.3.1 #

  • Style breadcrumb and add optional onCancel parameter to the Wizard

5.3.2 #

  • Upgrade dropdown_search and connectivity_plus (major versions)
    • connectivity_plus: 6.x7.x
    • dropdown_search: 6.x7.x (required code changes)
      • PopupPropsMultiSelection was renamed to PopupProps and MultiSelectinoPopupProps. This upgrade opted for PopupProps.menu(...)
      • onChanged was renamed to onSelected. This upgrade preserves the Slick API naming.

5.3.3 #

  • allow for optional hiding of cancel button on Wizard

5.3.4 #

  • Disable and show loading Wizard next button while async process is still completing

5.4.1 #

  • Added GridRowColors class to StandardGrid for brand-overridable row colours (evenRow, oddRow, hoverOrExpanded)
  • Added gridRowColors parameter to StandardGrid and DataRowWidget; falls back to theme colours when null
  • Added headerColor parameter to StandardGrid for explicit header background colour
  • Fixed typo in DecimalTextInputFormatter assertion message

5.4.3 #

  • Add optional onError callback to FeatureAccessController.initialise, invoked when getAvailableAccess fails

5.5.0 #

  • Added errorMessage override to every FieldValidator (e.g. RequiredValidator(errorMessage: 'This field is required')); existing default messages are unchanged
  • Added errorMessageBuilder to the bounds-based validators (LengthValidator, ListLengthValidator, RangeValidator, DateRangeValidator) via a new shared BoundedFieldValidator base, for messages that depend on which bound (BoundsViolation) was violated
  • Added errorMessageBuilder to FieldMatchValidator for messages that depend on the matched field's name
  • CombinedFieldValidator/DependentValidator errorMessage now replaces the message of whichever child validator fails
  • Added emailErrorMessage to EmailField to reach its internal EmailFieldValidator
  • Documented known pre-existing issues in docs/validator-known-issues.md (inverted DateRangeValidator comparisons, ListLengthValidator's unreachable max-only branch, n/a date formatting, a non-compiling README example)
  • Added .pubignore file (that includes .gitignored paths)

5.5.1 #

  • Added height, iconSize and iconGap parameters to StandardMenuItem.

5.5.2 #

  • ViewModelWidget now crossfades between its loading state and its view by default (180 ms, ViewModelWidget.defaultTransitionDuration) instead of replaying the theme's page transition. The route has already animated in; a second zoom or slide when the data arrives read as a stutter on every navigation. Override transitionTheme (for example with Theme.of(context).pageTransitionsTheme) to keep the previous behaviour for a view.

5.5.3 #

  • Input widgets no longer require a registered DirtyStateMonitor.

5.6.0 #

  • Snapshot loading: NavigationLogic now captures the pixels of the current page just before a route change (goTo, goReplace, goBack, goUp) and the destination page keeps showing that capture, dimmed with a progress indicator, until its ViewModelWidget has initialised and painted. The capture then crossfades into the view, so the user never sees an intermediate loading layout. On by default; pass useSnapshotLoading: false to NavigationLogic to opt out.
  • A ViewModelWidget that overrides buildLoading or buildLoadingOverlay keeps its custom loading view instead of the snapshot. Override the new useSnapshotLoading getter to decide explicitly.
  • SlickRoute.buildPage builds pages without a page transition while snapshot loading is on and wraps them in the new SlickPageHost. Override buildPage (and wrap in SlickPageHost) to customise.
  • Added NavigationLogic.defaultSnapshotOverlay and the DefaultSnapshotOverlay widget (dimmed scrim with a centred spinner).
  • Route changes start one frame later than before: the capture waits for the current frame to finish painting.
  • Minimum Flutter version raised to 3.27 (toImageSync, Color.withValues); go_router 17 already required newer.

5.7.0 #

  • One overlay for everything drawn over content that stays on screen: the route snapshot now uses NavigationLogic.defaultLoadingOverlay, and the separate defaultSnapshotOverlay parameter added in 5.6.0 is gone. Move any custom snapshot overlay to defaultLoadingOverlay and keep it translucent; an opaque overlay hides the snapshot.
  • DefaultSnapshotOverlay is renamed DefaultLoadingOverlay (components/feedback/default_loading_overlay.dart) and is now also the fallback for ViewModelWidget.buildLoadingOverlay when no defaultLoadingOverlay is configured. Previously that fell back to defaultLoading, which is usually opaque and so was not an overlay at all.
6
likes
140
points
2.33k
downloads

Documentation

API reference

Publisher

verified publishercodecollective.com

Weekly Downloads

Slick patterns, components, navigation and services for Flutter.

Repository

License

BSD-3-Clause (license)

Dependencies

connectivity_plus, dropdown_search, flutter, flutter_staggered_grid_view, get_it, go_router, intl, provider, validators

More

Packages that depend on flutter_slick