select_worker.dart 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import 'package:flutter/material.dart';
  2. import 'package:liftmanager/res/colors.dart';
  3. import 'package:liftmanager/res/gaps.dart';
  4. import 'package:liftmanager/utils/image_utils.dart';
  5. class SelectWorker extends StatelessWidget {
  6. const SelectWorker({
  7. Key key,
  8. this.onTap,
  9. this.onClick,
  10. @required this.avatar,
  11. @required this.title,
  12. @required this.isChecked,
  13. this.isCheckbox=false, //
  14. }) : super(key: key);
  15. final GestureTapCallback onTap;
  16. final Function onClick;
  17. final String avatar;
  18. final String title;
  19. final bool isChecked;
  20. final bool isCheckbox;
  21. @override
  22. Widget build(BuildContext context) {
  23. return InkWell(
  24. onTap: onTap,
  25. child: Container(
  26. padding: const EdgeInsets.only(left: 15),
  27. constraints:
  28. BoxConstraints(maxHeight: double.infinity, minHeight: 55.0),
  29. width: double.infinity,
  30. decoration: BoxDecoration(
  31. color: Colors.white,
  32. border: Border(
  33. bottom: Divider.createBorderSide(context, width: 0.6),
  34. )),
  35. child: Row(
  36. children: <Widget>[
  37. Offstage(
  38. offstage: isCheckbox,
  39. child: Checkbox(
  40. activeColor: Colours.app_main,
  41. tristate: false,
  42. value: isChecked,
  43. onChanged: onClick,
  44. )),
  45. CircleAvatar(
  46. radius: 18.5,
  47. backgroundColor: Colors.transparent,
  48. backgroundImage: ImageUtils.getImageProvider(avatar,
  49. holderImg: 'icon_avatar')),
  50. Gaps.hGap8,
  51. Expanded(
  52. flex: 1,
  53. child: Padding(
  54. padding: const EdgeInsets.only(right: 5.0),
  55. child: Text(title),
  56. ),
  57. ),
  58. ],
  59. ),
  60. ),
  61. );
  62. }
  63. }