mirror of
https://github.com/flutter/samples.git
synced 2025-11-08 13:58:47 +00:00
Pull up TextEditingDeltaHistoryManager to drop redundancy (#1306)
This commit is contained in:
@@ -303,46 +303,46 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
_updateToggleButtonsStateOnButtonPressed,
|
_updateToggleButtonsStateOnButtonPressed,
|
||||||
updateToggleButtonStateOnSelectionChanged:
|
updateToggleButtonStateOnSelectionChanged:
|
||||||
_updateToggleButtonsStateOnSelectionChanged,
|
_updateToggleButtonsStateOnSelectionChanged,
|
||||||
child: Column(
|
child: TextEditingDeltaHistoryManager(
|
||||||
children: [
|
history: _textEditingDeltaHistory,
|
||||||
Padding(
|
updateHistoryOnInput: _updateTextEditingDeltaHistory,
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8.0),
|
child: Column(
|
||||||
child: Row(
|
children: [
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
Padding(
|
||||||
children: [
|
padding: const EdgeInsets.symmetric(vertical: 8.0),
|
||||||
Builder(builder: (innerContext) {
|
child: Row(
|
||||||
final ToggleButtonsStateManager manager =
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
ToggleButtonsStateManager.of(innerContext);
|
children: [
|
||||||
|
Builder(builder: (innerContext) {
|
||||||
|
final ToggleButtonsStateManager manager =
|
||||||
|
ToggleButtonsStateManager.of(innerContext);
|
||||||
|
|
||||||
return ToggleButtons(
|
return ToggleButtons(
|
||||||
borderRadius:
|
borderRadius:
|
||||||
const BorderRadius.all(Radius.circular(4.0)),
|
const BorderRadius.all(Radius.circular(4.0)),
|
||||||
isSelected: [
|
isSelected: [
|
||||||
manager.toggleButtonsState
|
manager.toggleButtonsState
|
||||||
.contains(ToggleButtonsState.bold),
|
.contains(ToggleButtonsState.bold),
|
||||||
manager.toggleButtonsState
|
manager.toggleButtonsState
|
||||||
.contains(ToggleButtonsState.italic),
|
.contains(ToggleButtonsState.italic),
|
||||||
manager.toggleButtonsState
|
manager.toggleButtonsState
|
||||||
.contains(ToggleButtonsState.underline),
|
.contains(ToggleButtonsState.underline),
|
||||||
],
|
],
|
||||||
onPressed: (index) =>
|
onPressed: (index) => manager
|
||||||
manager.updateToggleButtonsOnButtonPressed(index),
|
.updateToggleButtonsOnButtonPressed(index),
|
||||||
children: const [
|
children: const [
|
||||||
Icon(Icons.format_bold),
|
Icon(Icons.format_bold),
|
||||||
Icon(Icons.format_italic),
|
Icon(Icons.format_italic),
|
||||||
Icon(Icons.format_underline),
|
Icon(Icons.format_underline),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
Expanded(
|
||||||
Expanded(
|
child: Padding(
|
||||||
child: Padding(
|
padding: const EdgeInsets.symmetric(horizontal: 35.0),
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 35.0),
|
|
||||||
child: TextEditingDeltaHistoryManager(
|
|
||||||
history: _textEditingDeltaHistory,
|
|
||||||
updateHistoryOnInput: _updateTextEditingDeltaHistory,
|
|
||||||
child: BasicTextField(
|
child: BasicTextField(
|
||||||
controller: _replacementTextEditingController,
|
controller: _replacementTextEditingController,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
@@ -351,15 +351,11 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
Expanded(
|
||||||
Expanded(
|
child: Column(
|
||||||
child: Column(
|
children: [
|
||||||
children: [
|
_buildTextEditingDeltaViewHeader(),
|
||||||
_buildTextEditingDeltaViewHeader(),
|
Expanded(
|
||||||
Expanded(
|
|
||||||
child: TextEditingDeltaHistoryManager(
|
|
||||||
history: _textEditingDeltaHistory,
|
|
||||||
updateHistoryOnInput: _updateTextEditingDeltaHistory,
|
|
||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (innerContext) {
|
builder: (innerContext) {
|
||||||
final TextEditingDeltaHistoryManager manager =
|
final TextEditingDeltaHistoryManager manager =
|
||||||
@@ -381,12 +377,12 @@ class _MyHomePageState extends State<MyHomePage> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
const SizedBox(height: 10),
|
||||||
const SizedBox(height: 10),
|
],
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ class TextEditingDeltaHistoryManager extends InheritedWidget {
|
|||||||
static TextEditingDeltaHistoryManager of(BuildContext context) {
|
static TextEditingDeltaHistoryManager of(BuildContext context) {
|
||||||
final TextEditingDeltaHistoryManager? result = context
|
final TextEditingDeltaHistoryManager? result = context
|
||||||
.dependOnInheritedWidgetOfExactType<TextEditingDeltaHistoryManager>();
|
.dependOnInheritedWidgetOfExactType<TextEditingDeltaHistoryManager>();
|
||||||
assert(result != null, 'No ToggleButtonsStateManager found in context');
|
assert(
|
||||||
|
result != null, 'No TextEditingDeltaHistoryManager found in context');
|
||||||
return result!;
|
return result!;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user