borderContainer static method
Function for adding borders in containers
Implementation
static Container borderContainer(Map<String, String> borderDetails, Widget child) {
BorderSide topBorder = const BorderSide(width: 0);
BorderSide leftBorder = const BorderSide(width: 0);
BorderSide bottomBorder = const BorderSide(width: 0);
BorderSide rightBorder = const BorderSide(width: 0);
if (borderDetails.isNotEmpty) {
if (borderDetails["top-val"] != null) {
topBorder = topBorder.copyWith(style: BorderStyle.solid);
}
if (borderDetails["top-sz"] != null) {
topBorder = topBorder.copyWith(width: double.parse(borderDetails["top-sz"].toString()) / 2);
}
if (borderDetails["top-color"] != null && borderDetails["top-color"] != "auto") {
topBorder = topBorder.copyWith(color: Color(int.parse("FF${borderDetails["top-color"]}", radix: 16)));
}
if (borderDetails["left-val"] != null) {
leftBorder = leftBorder.copyWith(style: BorderStyle.solid);
}
if (borderDetails["left-sz"] != null) {
leftBorder = leftBorder.copyWith(width: double.parse(borderDetails["left-sz"].toString()) / 2);
}
if (borderDetails["left-color"] != null) {
leftBorder = leftBorder.copyWith(color: Color(int.parse("FF${borderDetails["left-color"]}", radix: 16)));
}
if (borderDetails["bottom-val"] != null) {
bottomBorder = bottomBorder.copyWith(style: BorderStyle.solid);
}
if (borderDetails["bottom-sz"] != null) {
bottomBorder = bottomBorder.copyWith(width: double.parse(borderDetails["bottom-sz"].toString()) / 2);
}
if (borderDetails["bottom-color"] != null && borderDetails["bottom-color"] != "auto") {
bottomBorder = bottomBorder.copyWith(color: Color(int.parse("FF${borderDetails["bottom-color"]}", radix: 16)));
}
if (borderDetails["right-val"] != null) {
rightBorder = rightBorder.copyWith(style: BorderStyle.solid);
}
if (borderDetails["right-sz"] != null) {
rightBorder = rightBorder.copyWith(width: double.parse(borderDetails["right-sz"].toString()) / 2);
}
if (borderDetails["right-color"] != null && borderDetails["right-color"] != "auto") {
rightBorder = rightBorder.copyWith(color: Color(int.parse("FF${borderDetails["right-color"]}", radix: 16)));
}
}
return Container(
decoration: BoxDecoration(
border: Border(
top: topBorder.width != 0 ? topBorder : BorderSide.none,
right: rightBorder.width != 0 ? rightBorder : BorderSide.none,
bottom: bottomBorder.width != 0 ? bottomBorder : BorderSide.none,
left: leftBorder.width != 0 ? leftBorder : BorderSide.none,
)),
child: child,
);
}