76 lines
2.4 KiB
Dart
76 lines
2.4 KiB
Dart
import 'package:appflowy_board/appflowy_board.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:maxdash/controller/my_controller.dart';
|
|
import 'package:maxdash/images.dart';
|
|
|
|
class KanBanBoardController extends MyController {
|
|
final AppFlowyBoardController boardData = AppFlowyBoardController(
|
|
onMoveGroup: (fromGroupId, fromIndex, toGroupId, toIndex) {
|
|
debugPrint('Move item from $fromIndex to $toIndex');
|
|
},
|
|
onMoveGroupItem: (groupId, fromIndex, toIndex) {
|
|
debugPrint('Move $groupId:$fromIndex to $groupId:$toIndex');
|
|
},
|
|
onMoveGroupItemToGroup: (fromGroupId, fromIndex, toGroupId, toIndex) {
|
|
debugPrint('Move $fromGroupId:$fromIndex to $toGroupId:$toIndex');
|
|
},
|
|
);
|
|
late AppFlowyBoardScrollController boardController;
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
final group1 = AppFlowyGroupData(
|
|
id: "Pending",
|
|
items: [
|
|
TextItem("10 Oct 2024", "Update Home Page UI", "Alice", Images.avatars[0]),
|
|
TextItem("12 Oct 2024", "Create Product Feature List", "Bob", Images.avatars[1]),
|
|
TextItem("15 Oct 2024", "Design Login Flow", "Clara", Images.avatars[2]),
|
|
],
|
|
name: 'Pending',
|
|
);
|
|
|
|
final group2 = AppFlowyGroupData(
|
|
id: "Ongoing",
|
|
items: [
|
|
TextItem("5 Nov 2024", "Refactor API Endpoints", "Daniel", Images.avatars[3]),
|
|
TextItem("10 Nov 2024", "Implement Push Notifications", "Eva", Images.avatars[4]),
|
|
],
|
|
name: 'Ongoing',
|
|
);
|
|
|
|
final group3 = AppFlowyGroupData(
|
|
id: "Completed",
|
|
items: [
|
|
TextItem("3 Oct 2024", "Develop Admin Dashboard", "Felix", Images.avatars[5]),
|
|
TextItem("8 Oct 2024", "Setup Continuous Integration", "Grace", Images.avatars[6]),
|
|
TextItem("14 Oct 2024", "Design Mobile App Icons", "Harry", Images.avatars[7]),
|
|
TextItem("18 Oct 2024", "Create User Guide", "Ivy", Images.avatars[8]),
|
|
],
|
|
name: 'Completed',
|
|
);
|
|
|
|
final group4 = AppFlowyGroupData(
|
|
id: "On Hold",
|
|
items: [
|
|
TextItem("1 Nov 2024", "Design Marketing Website", "Jack", Images.avatars[9]),
|
|
],
|
|
name: 'On Hold',
|
|
);
|
|
|
|
boardData.addGroup(group1);
|
|
boardData.addGroup(group2);
|
|
boardData.addGroup(group3);
|
|
boardData.addGroup(group4);
|
|
}
|
|
}
|
|
|
|
class TextItem extends AppFlowyGroupItem {
|
|
final String date, title, name, image;
|
|
|
|
TextItem(this.date, this.title, this.name, this.image);
|
|
|
|
@override
|
|
String get id => title;
|
|
}
|