mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
fix: changing visibility of property (#4032)
* fix: changing visibility of property * fix: null aware ternary
This commit is contained in:
parent
1e6762b424
commit
a9ea8fd159
@ -49,7 +49,8 @@ class MobileFieldEditor extends StatelessWidget {
|
||||
// for field type edit option
|
||||
final dataController =
|
||||
context.read<FieldEditorBloc>().typeOptionController;
|
||||
|
||||
final fieldInfoVisibility =
|
||||
fieldController.getField(field.id)?.visibility;
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(16),
|
||||
child: Column(
|
||||
@ -70,8 +71,9 @@ class MobileFieldEditor extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
VisibilitySwitch(
|
||||
isVisible:
|
||||
state.field.visibility?.isVisibleState() ?? false,
|
||||
isFieldHidden: !(fieldInfoVisibility != null
|
||||
? fieldInfoVisibility.isVisibleState()
|
||||
: field.visibility),
|
||||
onChanged: () => context.read<RowDetailBloc>().add(
|
||||
RowDetailEvent.toggleFieldVisibility(
|
||||
state.field.id,
|
||||
@ -96,11 +98,11 @@ class MobileFieldEditor extends StatelessWidget {
|
||||
class VisibilitySwitch extends StatefulWidget {
|
||||
const VisibilitySwitch({
|
||||
super.key,
|
||||
required this.isVisible,
|
||||
required this.isFieldHidden,
|
||||
this.onChanged,
|
||||
});
|
||||
|
||||
final bool isVisible;
|
||||
final bool isFieldHidden;
|
||||
final Function? onChanged;
|
||||
|
||||
@override
|
||||
@ -108,17 +110,19 @@ class VisibilitySwitch extends StatefulWidget {
|
||||
}
|
||||
|
||||
class _VisibilitySwitchState extends State<VisibilitySwitch> {
|
||||
late bool _isVisible = widget.isVisible;
|
||||
late bool _isFieldHidden = widget.isFieldHidden;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Toggle(
|
||||
padding: EdgeInsets.zero,
|
||||
value: _isVisible,
|
||||
value: !_isFieldHidden,
|
||||
style: ToggleStyle.mobile,
|
||||
onChanged: (newValue) {
|
||||
widget.onChanged?.call();
|
||||
setState(() => _isVisible = newValue);
|
||||
onChanged: (_) {
|
||||
setState(() {
|
||||
_isFieldHidden = !_isFieldHidden;
|
||||
widget.onChanged?.call();
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user