From 700bef25764db43deae870b0f2eb16b1493f6c3b Mon Sep 17 00:00:00 2001 From: maxxkim Date: Tue, 5 Mar 2024 14:32:15 +0300 Subject: [PATCH] refactor(diary): Refactoring once more --- lib/widgets/custom_edit_drop_down.dart | 132 +++++++++---------- lib/widgets/custom_edit_text_form_field.dart | 1 - 2 files changed, 65 insertions(+), 68 deletions(-) diff --git a/lib/widgets/custom_edit_drop_down.dart b/lib/widgets/custom_edit_drop_down.dart index 59c58593..7f56bbd8 100644 --- a/lib/widgets/custom_edit_drop_down.dart +++ b/lib/widgets/custom_edit_drop_down.dart @@ -73,75 +73,73 @@ class CustomDropDown extends StatelessWidget { return alignment != null ? Align( alignment: alignment ?? Alignment.center, - child: dropDownWidget, + child: _buildDropDownWidget(context), ) - : dropDownWidget; + : _buildDropDownWidget(context); } - Widget get dropDownWidget => SizedBox( - width: width ?? double.maxFinite, - child: DropdownButtonFormField( - focusNode: focusNode ?? FocusNode(), - icon: icon, - autofocus: autofocus!, - style: textStyle ?? theme.textTheme.titleMedium, - items: items?.map((SelectionPopupModel item) { - return DropdownMenuItem( - value: item, - child: Text( - item.title, - overflow: TextOverflow.ellipsis, - style: hintStyle ?? theme.textTheme.titleMedium, - ), - ); - }).toList(), - decoration: decoration, - validator: validator, - value: defaultValue, - onChanged: (value) { - onChanged!(value!); - }, - ), - ); - InputDecoration get decoration => InputDecoration( - hintText: hintText ?? "", - hintStyle: hintStyle ?? theme.textTheme.titleMedium, - prefixIcon: prefix, - prefixIconConstraints: prefixConstraints, - suffixIcon: suffix, - suffixIconConstraints: suffixConstraints, - isDense: true, - contentPadding: contentPadding ?? - EdgeInsets.only( - left: 6.h, - top: 6.v, - bottom: 6.v, + _buildDropDownWidget(BuildContext context) { + return SizedBox( + width: width ?? double.maxFinite, + child: DropdownButtonFormField( + focusNode: focusNode ?? FocusNode(), + icon: icon, + autofocus: autofocus!, + style: textStyle ?? Theme.of(context).textTheme.titleMedium, + items: items?.map((SelectionPopupModel item) { + return DropdownMenuItem( + value: item, + child: Text( + item.title, + overflow: TextOverflow.ellipsis, + style: hintStyle ?? Theme.of(context).textTheme.titleMedium, ), - fillColor: fillColor ?? theme.colorScheme.onPrimary, - filled: filled, - border: borderDecoration ?? - OutlineInputBorder( - borderRadius: BorderRadius.circular(8.h), - borderSide: BorderSide( - color: Colors.grey, - width: 1, - ), - ), - enabledBorder: borderDecoration ?? - OutlineInputBorder( - borderRadius: BorderRadius.circular(8.h), - borderSide: BorderSide( - color: Colors.grey, - width: 1, - ), - ), - focusedBorder: borderDecoration ?? - OutlineInputBorder( - borderRadius: BorderRadius.circular(8.h), - borderSide: BorderSide( - color: Colors.grey, - width: 1, - ), - ), - ); + ); + }).toList(), + decoration: _buildInputDecoration(context), + validator: validator, + value: defaultValue, + onChanged: onDropDownChanged, + ), + ); + } + + void onDropDownChanged(value) { + onChanged!(value!); + } + + InputDecoration _buildInputDecoration(BuildContext context) { + return InputDecoration( + hintText: hintText ?? "", + hintStyle: hintStyle ?? Theme.of(context).textTheme.titleMedium, + prefixIcon: prefix, + prefixIconConstraints: prefixConstraints, + suffixIcon: suffix, + suffixIconConstraints: suffixConstraints, + isDense: true, + contentPadding: contentPadding ?? + EdgeInsets.only( + left: 6, + top: 6, + bottom: 6, + ), + fillColor: fillColor ?? Theme.of(context).colorScheme.onPrimary, + filled: filled, + border: borderDecoration ?? + OutlineInputBorder( + borderRadius: const BorderRadius.all(Radius.circular(8)), + borderSide: BorderSide(color: Colors.grey, width: 1), + ), + enabledBorder: borderDecoration ?? + OutlineInputBorder( + borderRadius: const BorderRadius.all(Radius.circular(8)), + borderSide: BorderSide(color: Colors.grey, width: 1), + ), + focusedBorder: borderDecoration ?? + OutlineInputBorder( + borderRadius: const BorderRadius.all(Radius.circular(8)), + borderSide: BorderSide(color: Colors.grey, width: 1), + ), + ); + } } diff --git a/lib/widgets/custom_edit_text_form_field.dart b/lib/widgets/custom_edit_text_form_field.dart index 2032ee9e..aeeb19e7 100644 --- a/lib/widgets/custom_edit_text_form_field.dart +++ b/lib/widgets/custom_edit_text_form_field.dart @@ -1,4 +1,3 @@ -import 'package:eatvio_app/core/app_export.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart';