add shipments

This commit is contained in:
Sai Naw Wun
2020-10-19 05:13:49 +06:30
parent 4f8bde40b0
commit c619ae3f22
57 changed files with 1886 additions and 724 deletions

View File

@@ -10,6 +10,7 @@ class LocalPopupMenuButton extends StatefulWidget {
final PopupMenuCallback popupMenuCallback;
final List<LocalPopupMenu> popmenus;
final bool multiSelect;
final bool selectable;
final IconData buttonIcon;
const LocalPopupMenuButton(
@@ -17,6 +18,7 @@ class LocalPopupMenuButton extends StatefulWidget {
this.popupMenuCallback,
this.popmenus,
this.buttonIcon,
this.selectable = true,
this.multiSelect = false})
: super(key: key);
@@ -39,25 +41,27 @@ class _LocalPopupMenuButtonState extends State<LocalPopupMenuButton> {
return PopupMenuButton<LocalPopupMenu>(
elevation: 3.2,
onSelected: (selected) {
if (!widget.multiSelect) {
setState(() {
popmenus.forEach((e) {
if (e.id != selected.id)
e.selected = false;
else
e.selected = true;
if (widget.selectable) {
if (!widget.multiSelect) {
setState(() {
popmenus.forEach((e) {
if (e.id != selected.id)
e.selected = false;
else
e.selected = true;
});
});
});
selected.selected = true;
} else {
setState(() {
popmenus.forEach((e) {
if (e.id == selected.id) e.selected = !e.selected;
selected.selected = true;
} else {
setState(() {
popmenus.forEach((e) {
if (e.id == selected.id) e.selected = !e.selected;
});
});
});
selected.selected = !selected.selected;
selected.selected = !selected.selected;
}
}
if (widget.popupMenuCallback != null)
if (selected.enabled && widget.popupMenuCallback != null)
widget.popupMenuCallback(selected);
},
icon: Container(
@@ -92,11 +96,14 @@ class _LocalPopupMenuButtonState extends State<LocalPopupMenuButton> {
)),
itemBuilder: (BuildContext context) {
return popmenus.map((LocalPopupMenu choice) {
if (choice == null) return null;
return PopupMenuItem<LocalPopupMenu>(
value: choice,
child: Row(
children: <Widget>[
LocalText(context, choice.textKey, color: primaryColor),
LocalText(context, choice.textKey,
color:
choice?.enabled ?? true ? primaryColor : Colors.grey),
SizedBox(
width: 10,
),
@@ -115,6 +122,7 @@ class _LocalPopupMenuButtonState extends State<LocalPopupMenuButton> {
bool _needHighlight() {
popmenus.forEach((e) {
if (e == null) return false;
if (e.selected && e.highlight) return true;
});
return false;