Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

An issue occurs when adding a new row into the Group Type #1120

Open
Azraelkai1234 opened this issue Nov 10, 2024 · 2 comments
Open

An issue occurs when adding a new row into the Group Type #1120

Azraelkai1234 opened this issue Nov 10, 2024 · 2 comments
Labels
question Further information is requested

Comments

@Azraelkai1234
Copy link

This is my Columns
`columns.addAll([
PlutoColumn(
title: "Directory",
field: "files",
readOnly: true,
type: PlutoColumnType.text(),
renderer: (c) {

   IconData icon = c.row.type.isGroup ? Icons.folder : Icons.file_present;
  return Row(
    mainAxisAlignment: MainAxisAlignment.spaceBetween,
    children: [
      Wrap(
        children: [
          Icon(icon, size: 18, color: Colors.grey),
          const SizedBox(width: 10),
          PrimaryText(text: c.row.cells["files"]!.value),
        ],
      ),
      Row(
        children: [
          Transform.scale(
            scale: 0.5,
            child: LiteRollingSwitch(
              width: 130,
              value: c.row.cells["isActive"]!.value,
              textOn: "Active",
              textOnColor: Colors.white,
              textOff: "Inactive",
              colorOn: Colors.green,
              colorOff: Colors.red,
              iconOn: Icons.done,
              animationDuration: const Duration(milliseconds: 100),
              iconOff: Icons.close,
              textSize: 16.0,
              onChanged: (bool state) async {
                Map<String, dynamic> map = {"active": state};
                var response = await ClassAPI().apiJson2(
                  "/api/Directory/${c.row.cells["identifierID"]!.value}/active",
                  null,
                  "PATCH",
                  map,
                );
                ModelResult modelResult = await ModelResult.fromJson(response);
                if (modelResult.success) {
                  c.row.cells["isActive"]!.value = state;
                  c.stateManager.notifyListeners();
                } else {
                  alertDialog(
                    navigatorKey.currentState!.context,
                    "Update Directory Status Error",
                    modelResult.message,
                  );
                }
              },
              onTap: () {},
              onDoubleTap: () {},
              onSwipe: () {},
            ),
          ),
          const SizedBox(width: 5),
          PrimaryText(text: "|"),
          const SizedBox(width: 5),
          PopupMenuButton<String>(
            icon: const Icon(FontAwesomeIcons.ellipsis),
            itemBuilder: (BuildContext context) {
              return <PopupMenuEntry<String>>[
                const PopupMenuItem<String>(
                  value: "rename",
                  child: PrimaryText(text: "Rename", size: 12),
                ),
                const PopupMenuItem<String>(
                  value: "download",
                  child: PrimaryText(text: "Download", size: 12),
                ),
                const PopupMenuItem<String>(
                  value: "delete",
                  child: PrimaryText(text: "Delete", color: Colors.red, size: 12),
                ),
              ];
            },
            onSelected: (value) async {
              if (value == "delete") {
                confirmDialog(
                  navigatorKey.currentState!.context,
                  "",
                  "Are you sure you want to remove?",
                  [
                    ElevatedButton(
                      child: const PrimaryText(text: "Cancel"),
                      onPressed: () {
                        Navigator.pop(navigatorKey.currentState!.context);
                      },
                    ),
                    ElevatedButton(
                      style: ButtonStyle(
                        backgroundColor: MaterialStateProperty.all<Color>(AppColors.primary),
                      ),
                      child: const PrimaryText(text: "Confirm", color: AppColors.white),
                      onPressed: () async {
                        Navigator.pop(navigatorKey.currentState!.context);
                        deleteDirectory(c.row.cells["identifierID"]!.value.toString(), c);
                      },
                    ),
                  ],
                );
              }
            },
          ),
        ],
      ),
    ],
  );
} ),]);`

When The Row is expanded will load the data from api
and insert into the Row Group children

`

PlutoGrid(
columns: columns,
rows: rows,
configuration: PlutoGridConfiguration(
scrollbar: PlutoGridScrollbarConfig(
dragDevices: {
PointerDeviceKind.touch,
PointerDeviceKind.stylus,
PointerDeviceKind.invertedStylus,
PointerDeviceKind.unknown,
},
),
style: PlutoGridStyleConfig(
enableCellBorderVertical: false,
cellColorGroupedRow: Color(0x80F6F6F6),
gridBorderRadius: BorderRadius.circular(8.0),
columnAscendingIcon: const Icon(FontAwesomeIcons.arrowDown),
columnDescendingIcon: const Icon(FontAwesomeIcons.arrowUp),
),
columnSize: const PlutoGridColumnSizeConfig(
autoSizeMode: PlutoAutoSizeMode.scale,
),
),
onLoaded: (e) {
stateManager = e.stateManager;
e.stateManager.setRowGroup(
PlutoRowGroupTreeDelegate(
resolveColumnDepth: (column) => e.stateManager.columnIndex(column),
showText: (cell) => true,
showFirstExpandableIcon: true,
showCount: false,
onToggled: ({required bool expanded, required PlutoRow row}) async {
if (!expanded) return;

      stateManager.setShowLoading(true);
      ModelDirectoryListing childListing = await getDirectoryChildListing(
        row.cells["identifierID"]!.value.toString(),
      );

      // Add children rows dynamically based on retrieved directory listing
      childListing.data.forEach((directory) {
        var plutorow = row.type.group.children.firstWhereOrNull(
          (element) => element.cells["identifierID"]?.value == directory.directoryUID,
        );

        if (plutorow != null) return;

        row.type.group.children.add(
          PlutoRow(
            cells: {
              'parentDirectoryUID': PlutoCell(value: directory.parentsDirectoryUID),
              'identifierID': PlutoCell(value: directory.directoryUID),
              'files': PlutoCell(value: directory.name),
              'url': PlutoCell(value: directory.url),
              'isActive': PlutoCell(value: directory.isActive),
              'createdDate': PlutoCell(value: LogFormat().formatDate(directory.createdDate.toString())),
              'modifiedDate': PlutoCell(value: LogFormat().formatDate(directory.modifiedDate.toString())),
            },
            type: directory.isFolder
                ? PlutoRowType.group(
                    children: FilteredList<PlutoRow>(
                      initialList: [
                        if (globalPerson?.roleName == "Super Admin" || globalPerson?.roleName == "Admin")
                          PlutoRow(
                            cells: {
                              'parentDirectoryUID': PlutoCell(value: directory.directoryUID),
                              'files': PlutoCell(value: ''),
                              'identifierID': PlutoCell(value: 'new'),
                            },
                          ),
                      ],
                    ),
                  )
                : PlutoRowType.normal(),
          ),
        );
      });

      // Notify state manager after a delay to refresh UI
      Future.delayed(const Duration(milliseconds: 500), () {
        stateManager.notifyListeners();
        stateManager.setShowLoading(false);
      });
    },
  ),
);

},
);
`

The Error Occurs

errors.dart:294 Uncaught (in promise) DartError: Assertion failed: file:///C:/Users/User/AppData/Local/Pub/Cache/hosted/pub.dev/pluto_grid-7.0.2/lib/src/model/pluto_cell.dart:107:5
flag
"PlutoCell is not initialized.When adding a column or row, if it is not added through PlutoGridStateManager, PlutoCell does not set the necessary information at runtime.If you add a column or row through PlutoGridStateManager and this error occurs, please contact Github issue."
at Object.throw_ [as throw] (errors.dart:294:3)
at Object.assertFailed (errors.dart:35:3)
at Object._assertUnInitializedCell (pluto_cell.dart:107:9)
at get row (pluto_cell.dart:42:5)
at pluto_row_group_delegate.PlutoRowGroupTreeDelegate.new.isExpandableCell (pluto_row_group_delegate.dart:173:14)
at pluto_base_cell._CellContainerState.new.updateState (pluto_base_cell.dart:199:26)
at [_onChange] (pluto_state_with_change.dart:110:5)
at _RootZone.runUnaryGuarded (zone.dart:1594:9)
at [_sendData] (stream_impl.dart:339:5)
at [_add] (stream_impl.dart:271:7)
at [_add] (stream_pipe.dart:123:11)
at [_handleData] (stream_pipe.dart:195:11)
at [_handleData] (stream_pipe.dart:153:5)
at _RootZone.runUnaryGuarded (zone.dart:1594:9)
at [_sendData] (stream_impl.dart:339:5)
at _DelayedData.new.perform (stream_impl.dart:515:13)
at _PendingEvents.new.handleNext (stream_impl.dart:620:10)
at async._AsyncCallbackEntry.new.callback (stream_impl.dart:591:7)
at Object._microtaskLoop (schedule_microtask.dart:40:11)
at _startMicrotaskLoop (schedule_microtask.dart:49:5)
at async_patch.dart:181:7

@Azraelkai1234 Azraelkai1234 added the question Further information is requested label Nov 10, 2024
@stan-at-work
Copy link

Please rephrase this issue !

@Azraelkai1234
Copy link
Author

This is my column
columns.addAll([ PlutoColumn( title: 'Directory', field: 'files', readOnly: true, type: PlutoColumnType.text(), ), ]);

this is example tree structure grouping for the row

rows.addAll([
  PlutoRow(
      cells: {'files': PlutoCell(value: 'PlutoGrid')},
      type: PlutoRowType.group(
          children: FilteredList<PlutoRow>(
        initialList: [
          PlutoRow(
            cells: {'files': PlutoCell(value: 'lib')},
            type: PlutoRowType.group(
              children: FilteredList<PlutoRow>(
                initialList: [
                  PlutoRow(
                    cells: {'files': PlutoCell(value: 'src')},
                    type: PlutoRowType.group(
                        children: FilteredList<PlutoRow>(
                      initialList: [
                        PlutoRow(cells: {
                          'files': PlutoCell(value: 'pluto_grid.dart')
                        }),
                        PlutoRow(cells: {
                          'files': PlutoCell(value: 'pluto_dual_grid.dart')
                        }),
                      ],
                    )),
                  ),
                ],
              ),
            ),
          ),
          PlutoRow(
            cells: {'files': PlutoCell(value: 'test')},
            type: PlutoRowType.group(
              children: FilteredList<PlutoRow>(
                initialList: [
                  PlutoRow(
                    cells: {
                      'files': PlutoCell(value: 'pluto_grid_test.dart')
                    },
                  ),
                ],
              ),
            ),
          ),
        ],
      )))
]);

I want to add new items to an initialized children list when the collapsed toggle is expanded.

PlutoGrid(
          columns: columns,
          rows: rows,

          onLoaded: (e) {
            stateManager = e.stateManager;
            e.stateManager.setRowGroup(PlutoRowGroupTreeDelegate(
              resolveColumnDepth: (column) =>
                  e.stateManager.columnIndex(column),
              showText: (cell) => true,
              showFirstExpandableIcon: true,
              showCount: false,
              onToggled: (
                  {required bool expanded, required PlutoRow row}) async {
                if (!expanded) return;
                if (row.cells["files"]!.value.toString() == "src") {
                  row.type.group.children.add(
                    PlutoRow(
                        cells: {'files': PlutoCell(value: 'flutter.dart')}),
                  );
                  stateManager.notifyListeners();
                }
              },
            ));
          },
        )

but there are an error occurs when add item

        The following assertion was thrown while handling a pointer data packet:

Cannot hit test a render box that has never been laid out.

The hitTest() method was called on this RenderBox: RenderErrorBox#ea9ef NEEDS-LAYOUT NEEDS-PAINT
... parentData: offset=Offset(0.0, 0.0); id=files
... constraints: MISSING
... size: MISSING
Unfortunately, this object's geometry is not known at this time, probably because it has never been laid out. This means it cannot be accurately hit-tested.

If you are trying to perform a hit test during the layout phase itself, make sure you only hit test nodes that have completed layout (e.g. the node's children, after their layout() method has been called).

When the exception was thrown, this was the stack:
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:3 throw
packages/flutter/src/rendering/box.dart 2449:11
packages/flutter/src/rendering/box.dart 2479:14 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/custom_layout.dart 413:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/sliver.dart 1787:21
packages/flutter/src/rendering/box.dart 893:31 addWithOutOfBandPosition
packages/flutter/src/rendering/sliver.dart 1784:18 hitTestBoxChild
packages/flutter/src/rendering/sliver_multi_box_adaptor.dart 558:11 hitTestChildren
packages/flutter/src/rendering/sliver.dart 1421:11 hitTest
packages/flutter/src/rendering/sliver.dart 978:31 addWithAxisOffset
packages/flutter/src/rendering/sliver_padding.dart 214:13 hitTestChildren
packages/flutter/src/rendering/sliver.dart 1421:11 hitTest
packages/flutter/src/rendering/viewport.dart 808:23
packages/flutter/src/rendering/box.dart 893:31 addWithOutOfBandPosition
packages/flutter/src/rendering/viewport.dart 805:32 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 3591:31 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/shifted_box.dart 88:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/shifted_box.dart 83:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/widgets/single_child_scroll_view.dart 587:18
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/widgets/single_child_scroll_view.dart 582:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 3591:31 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/custom_paint.dart 559:18 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 3150:54 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/custom_layout.dart 413:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/widgets/layout_builder.dart 327:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 1626:18 hitTest
packages/flutter/src/rendering/shifted_box.dart 88:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/shifted_box.dart 83:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/flex.dart 1034:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/shifted_box.dart 88:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/shifted_box.dart 83:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/flex.dart 1034:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/shifted_box.dart 88:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/shifted_box.dart 83:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/widgets/single_child_scroll_view.dart 587:18
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/widgets/single_child_scroll_view.dart 582:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 3591:31 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/custom_paint.dart 559:18 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 3150:54 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/flex.dart 1034:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/shifted_box.dart 88:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/shifted_box.dart 83:20 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/flex.dart 1034:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/box.dart 2861:23
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/rendering/box.dart 2856:32 defaultHitTestChildren
packages/flutter/src/rendering/custom_layout.dart 413:12 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 1984:18 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 3591:31 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 3720:31 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/widgets/overlay.dart 902:80 childHitTest
packages/flutter/src/rendering/box.dart 800:31 addWithPaintOffset
packages/flutter/src/widgets/overlay.dart 903:21 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 3843:17 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/proxy_box.dart 172:63 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/widgets/tap_region.dart 213:72 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/proxy_box.dart 117:19 hitTestChildren
packages/flutter/src/rendering/box.dart 2482:11 hitTest
packages/flutter/src/rendering/view.dart 211:7 hitTest
packages/flutter/src/rendering/binding.dart 624:34 hitTestInView
packages/flutter/src/gestures/binding.dart 384:7 [_handlePointerEventImmediately]
packages/flutter/src/gestures/binding.dart 376:5 handlePointerEvent
packages/flutter/src/gestures/binding.dart 323:7 [_flushPointerEventQueue]
packages/flutter/src/gestures/binding.dart 292:9 [_handlePointerDataPacket]
lib/_engine/engine/platform_dispatcher.dart 1289:5 invoke1
lib/_engine/engine/platform_dispatcher.dart 273:5 invokeOnPointerDataPacket
lib/_engine/engine/pointer_binding.dart 168:30 [_onPointerData]
lib/_engine/engine/pointer_binding.dart 768:16
lib/_engine/engine/pointer_binding.dart 720:7
lib/_engine/engine/pointer_binding.dart 317:9 loggedHandler
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 574:37 _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 579:39 dcall

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants