{"id":22929003,"url":"https://github.com/jakebonk/flutterboardview","last_synced_at":"2025-05-13T02:29:27.649Z","repository":{"id":47053113,"uuid":"166334766","full_name":"jakebonk/FlutterBoardView","owner":"jakebonk","description":"BoardView written for the flutter framework.","archived":false,"fork":false,"pushed_at":"2023-10-02T09:26:09.000Z","size":1958,"stargazers_count":94,"open_issues_count":20,"forks_count":57,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-22T16:59:02.307Z","etag":null,"topics":["boardview","dart","drag-and-drop","draggable","flutter","flutter-widget","kanban"],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jakebonk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-18T03:04:08.000Z","updated_at":"2025-04-03T05:06:45.000Z","dependencies_parsed_at":"2024-06-21T20:22:00.325Z","dependency_job_id":"49b6d721-d55e-4fc1-9e49-8940a700ac5c","html_url":"https://github.com/jakebonk/FlutterBoardView","commit_stats":{"total_commits":23,"total_committers":2,"mean_commits":11.5,"dds":"0.13043478260869568","last_synced_commit":"4761f1937d96fc3b158b6801bbbdc18b39557438"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakebonk%2FFlutterBoardView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakebonk%2FFlutterBoardView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakebonk%2FFlutterBoardView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jakebonk%2FFlutterBoardView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jakebonk","download_url":"https://codeload.github.com/jakebonk/FlutterBoardView/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253859115,"owners_count":21975049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["boardview","dart","drag-and-drop","draggable","flutter","flutter-widget","kanban"],"created_at":"2024-12-14T09:28:43.723Z","updated_at":"2025-05-13T02:29:27.627Z","avatar_url":"https://github.com/jakebonk.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![pub package](https://img.shields.io/pub/v/boardview.svg)](https://pub.dev/packages/boardview)\n\n# Flutter BoardView\nThis is a custom widget that can create a draggable BoardView or also known as a kanban. The view can be reordered with drag and drop.\n\n## Installation\nJust add ``` boardview ``` to the ``` pubspec.yaml ``` file.\n\n## Usage Example\n\nTo get started you can look inside the ``` /example``` folder. This package is broken into 3 core parts\n\n![Example](https://github.com/jakebonk/FlutterBoardView/blob/master/images/example.gif?raw=true)\n\n### BoardView\n\nThe BoardView class takes in a List of BoardLists. It can also take in a BoardViewController which is can be used to animate to positions in the BoardView\n\n``` dart\n\nBoardViewController boardViewController = new BoardViewController();\n\nList\u003cBoardList\u003e _lists = List\u003cBoardList\u003e();\n\nBoardView(\n  lists: _lists,\n  boardViewController: boardViewController,\n);\n\n```\n\n### BoardList\n\nThe BoardList has several callback methods for when it is being dragged. The header item is a Row and expects a List\u003cWidget\u003e as its object. The header item on long press will begin the drag process for the BoardList.\n\n``` dart\n\n    BoardList(\n      onStartDragList: (int listIndex) {\n    \n      },\n      onTapList: (int listIndex) async {\n    \n      },\n      onDropList: (int listIndex, int oldListIndex) {       \n       \n      },\n      headerBackgroundColor: Color.fromARGB(255, 235, 236, 240),\n      backgroundColor: Color.fromARGB(255, 235, 236, 240),\n      header: [\n        Expanded(\n            child: Padding(\n                padding: EdgeInsets.all(5),\n                child: Text(\n                  \"List Item\",\n                  style: TextStyle(fontSize: 20),\n                ))),\n      ],\n      items: items,\n    );\n\n```\n\n### BoardItem\n\nThe BoardItem view has several callback methods that get called when dragging. A long press on the item field widget will begin the drag process.\n\n``` dart\n\n    BoardItem(\n        onStartDragItem: (int listIndex, int itemIndex, BoardItemState state) {\n        \n        },\n        onDropItem: (int listIndex, int itemIndex, int oldListIndex,\n            int oldItemIndex, BoardItemState state) {\n                      \n        },\n        onTapItem: (int listIndex, int itemIndex, BoardItemState state) async {\n        \n        },\n        item: Card(\n          child: Padding(\n            padding: const EdgeInsets.all(8.0),\n            child: Text(\"Board Item\"),\n          ),\n        )\n    );\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakebonk%2Fflutterboardview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakebonk%2Fflutterboardview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakebonk%2Fflutterboardview/lists"}