Bläddra i källkod

chore: update view state when close the popover (#1251)

Nathan.fooo 2 år sedan
förälder
incheckning
89d036158b

+ 1 - 1
frontend/app_flowy/lib/plugins/doc/document.dart

@@ -175,7 +175,7 @@ class ShareActionList extends StatelessWidget {
       actions: ShareAction.values
           .map((action) => ShareActionWrapper(action))
           .toList(),
-      withChild: (controller) {
+      buildChild: (controller) {
         return RoundedTextButton(
           title: LocaleKeys.shareAction_buttonText.tr(),
           fontSize: 12,

+ 1 - 1
frontend/app_flowy/lib/workspace/presentation/home/menu/app/header/header.dart

@@ -157,7 +157,7 @@ class AppActionList extends StatelessWidget {
       actions: AppDisclosureAction.values
           .map((action) => DisclosureActionWrapper(action))
           .toList(),
-      withChild: (controller) {
+      buildChild: (controller) {
         return GestureDetector(
           behavior: HitTestBehavior.opaque,
           onTap: () => ExpandableController.of(context,

+ 4 - 1
frontend/app_flowy/lib/workspace/presentation/home/menu/app/section/item.dart

@@ -177,7 +177,7 @@ class ViewDisclosureButton extends StatelessWidget {
       actions: ViewDisclosureAction.values
           .map((action) => ViewDisclosureActionWrapper(action))
           .toList(),
-      withChild: (controller) {
+      buildChild: (controller) {
         return FlowyIconButton(
           iconPadding: const EdgeInsets.all(5),
           width: 26,
@@ -193,6 +193,9 @@ class ViewDisclosureButton extends StatelessWidget {
         onAction(action.inner);
         controller.close();
       },
+      onClosed: () {
+        onEdit(false);
+      },
     );
   }
 }

+ 1 - 1
frontend/app_flowy/lib/workspace/presentation/widgets/float_bubble/question_bubble.dart

@@ -45,7 +45,7 @@ class BubbleActionList extends StatelessWidget {
     return PopoverActionList<PopoverAction>(
       direction: PopoverDirection.topWithRightAligned,
       actions: actions,
-      withChild: (controller) {
+      buildChild: (controller) {
         return FlowyTextButton(
           '?',
           tooltip: LocaleKeys.questionBubble_help.tr(),

+ 6 - 3
frontend/app_flowy/lib/workspace/presentation/widgets/pop_up_action.dart

@@ -13,12 +13,14 @@ class PopoverActionList<T extends PopoverAction> extends StatefulWidget {
   final Function(T, PopoverController) onSelected;
   final BoxConstraints constraints;
   final PopoverDirection direction;
-  final Widget Function(PopoverController) withChild;
+  final Widget Function(PopoverController) buildChild;
+  final VoidCallback? onClosed;
 
   const PopoverActionList({
     required this.actions,
-    required this.withChild,
+    required this.buildChild,
     required this.onSelected,
+    this.onClosed,
     this.direction = PopoverDirection.rightWithTopAligned,
     this.constraints = const BoxConstraints(
       minWidth: 120,
@@ -44,13 +46,14 @@ class _PopoverActionListState<T extends PopoverAction>
 
   @override
   Widget build(BuildContext context) {
-    final child = widget.withChild(popoverController);
+    final child = widget.buildChild(popoverController);
 
     return AppFlowyPopover(
       controller: popoverController,
       constraints: widget.constraints,
       direction: widget.direction,
       triggerActions: PopoverTriggerFlags.none,
+      onClose: widget.onClosed,
       popupBuilder: (BuildContext popoverContext) {
         final List<Widget> children = widget.actions.map((action) {
           if (action is ActionCell) {