Set 'There is no item to show' to all menu screens

This commit is contained in:
fhkhd
2024-01-11 20:39:00 +03:30
parent 4cb3a921f1
commit 80b9fd33b2
9 changed files with 226 additions and 154 deletions
@@ -198,7 +198,9 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
color: Colors.black,
),
)
: ListView.builder(
:
cycleResults.items?.length != null ?
ListView.builder(
controller: sc,
itemBuilder: (context, index) {
String labels = '';
@@ -221,7 +223,12 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
},
itemCount: cycleResults.items?.length,
shrinkWrap: true,
);
) :
Container(
child: Center(
child: Text("There is no item to show."),
),
);
},
),
),
+8 -2
View File
@@ -251,7 +251,8 @@ class _ItemResultScreenState extends State<ItemResultScreen> {
color: Colors.black,
),
)
: ListView.builder(
: itemResults.items?.length != null ?
ListView.builder(
controller: sc,
itemBuilder: (context, index) {
// remove extra ,
@@ -262,7 +263,12 @@ class _ItemResultScreenState extends State<ItemResultScreen> {
},
itemCount: itemResults.items?.length,
shrinkWrap: true,
);
) :
Container(
child: Center(
child: Text("There is no item to show."),
),
);
},
),
),
+24 -11
View File
@@ -72,7 +72,12 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
),
appBar: AppBar(
titleSpacing: -10,
title: Text('Home', style: TextStyle(color: Colors.white,),),
title: Text(
'Home',
style: TextStyle(
color: Colors.white,
),
),
backgroundColor: Colors.black,
leading: IconButton(
icon: Icon(
@@ -171,16 +176,24 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
color: Colors.black,
),
)
: ListView.builder(
controller: sc,
itemBuilder: (context, index) =>
LabelItemBox(
deviceBlockSize: _deviceBlockSize,
item: labelResults.items?[index],
),
itemCount: labelResults.items?.length,
shrinkWrap: true,
);
: labelResults.items?.length != null
? ListView.builder(
controller: sc,
itemBuilder: (context, index) =>
LabelItemBox(
deviceBlockSize: _deviceBlockSize,
item: labelResults.items?[index],
),
itemCount:
labelResults.items?.length,
shrinkWrap: true,
)
: Container(
child: Center(
child: Text(
"There is no item to show."),
),
);
},
),
),
@@ -13,6 +13,7 @@ import 'package:provider/provider.dart';
class MyItemsMineScreen extends StatefulWidget {
final bool? isAdmin;
const MyItemsMineScreen({
Key? key,
this.isAdmin,
@@ -39,23 +40,23 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
var myItemResults = Provider.of<MyItemProvider>(context);
myItemResults.setLoading();
myItemResults.resetPageNumber();
myItemResults.getMyItems().then(
(_) {
myItemResults.resetLoading();
sc!.addListener(
() {
if (sc!.position.pixels == sc!.position.maxScrollExtent &&
searchCTRL.text == '') {
var myItemResults = Provider.of<MyItemProvider>(
context,
listen: false,
);
myItemResults.getMyItems();
}
},
);
},
);
myItemResults.getMyItems().then(
(_) {
myItemResults.resetLoading();
sc!.addListener(
() {
if (sc!.position.pixels == sc!.position.maxScrollExtent &&
searchCTRL.text == '') {
var myItemResults = Provider.of<MyItemProvider>(
context,
listen: false,
);
myItemResults.getMyItems();
}
},
);
},
);
}
_isInit = false;
super.didChangeDependencies();
@@ -158,7 +159,7 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
textInputType: TextInputType.visiblePassword,
deviceBlockSize: _deviceBlockSize,
onChanged: (value) {
Provider.of<MyItemProvider>(context, listen: false)
Provider.of<MyItemProvider>(context, listen: false)
.searchMyItems(value);
},
),
@@ -174,27 +175,34 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
color: Colors.black,
),
)
: ListView.builder(
controller: sc,
itemBuilder: (context, index) {
return MyItemsItemDataBox(
deviceBlockSize: _deviceBlockSize,
isAdmin:
userData['roles']?.contains('User')
: itemResults.originalMyItems?.length != null
? ListView.builder(
controller: sc,
itemBuilder: (context, index) {
return MyItemsItemDataBox(
deviceBlockSize: _deviceBlockSize,
isAdmin: userData['roles']
?.contains('User')
? false
: true,
items: itemResults.myItems?[index],
push: () {
Navigator.pushNamed(context,
Routes.myItemsHistoryScreen,
arguments:
itemResults.myItems?[index]);
},
);
},
itemCount: itemResults.myItems?.length,
shrinkWrap: true,
);
items: itemResults.myItems?[index],
push: () {
Navigator.pushNamed(context,
Routes.myItemsHistoryScreen,
arguments: itemResults
.myItems?[index]);
},
);
},
itemCount: itemResults.myItems?.length,
shrinkWrap: true,
)
: Container(
child: Center(
child:
Text("There is no item to show."),
),
);
},
),
),
@@ -1,4 +1,3 @@
// ignore_for_file: public_member_api_docs, sort_constructors_first
import 'package:cssd/config/routes.dart';
import 'package:cssd/providers/auth.dart';
@@ -40,23 +39,23 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
var myPackageResults = Provider.of<MyPackageProvider>(context);
myPackageResults.setLoading();
myPackageResults.resetPageNumber();
myPackageResults.getMyPackages().then(
(_) {
myPackageResults.resetLoading();
sc!.addListener(
() {
if (sc!.position.pixels == sc!.position.maxScrollExtent &&
searchCTRL.text == '') {
var myPackageResults = Provider.of<MyPackageProvider>(
context,
listen: false,
);
myPackageResults.getMyPackages();
}
},
);
},
);
myPackageResults.getMyPackages().then(
(_) {
myPackageResults.resetLoading();
sc!.addListener(
() {
if (sc!.position.pixels == sc!.position.maxScrollExtent &&
searchCTRL.text == '') {
var myPackageResults = Provider.of<MyPackageProvider>(
context,
listen: false,
);
myPackageResults.getMyPackages();
}
},
);
},
);
}
_isInit = false;
super.didChangeDependencies();
@@ -131,7 +130,7 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
text: 'package',
deviceBlockSize: _deviceBlockSize,
onChanged: (value) {
Provider.of<MyPackageProvider>(context, listen: false)
Provider.of<MyPackageProvider>(context, listen: false)
.searchMyPackages(value);
},
),
@@ -147,28 +146,36 @@ class _MyPackagesMineScreenState extends State<MyPackagesMineScreen> {
color: Colors.black,
),
)
: ListView.builder(
controller: sc,
itemBuilder: (context, index) {
return MyPackagesItemDataBox(
deviceBlockSize: _deviceBlockSize,
isAdmin:
userData['roles']?.contains('User')
: packageResults.originalMyPackages?.length !=
null
? ListView.builder(
controller: sc,
itemBuilder: (context, index) {
return MyPackagesItemDataBox(
deviceBlockSize: _deviceBlockSize,
isAdmin: userData['roles']
?.contains('User')
? false
: true,
packages:
packageResults.myPackages?[index],
push: () {
Navigator.pushNamed(context,
Routes.myPackagesHistoryScreen,
arguments: packageResults
.myPackages?[index]);
packages:
packageResults.myPackages?[index],
push: () {
Navigator.pushNamed(context,
Routes.myPackagesHistoryScreen,
arguments: packageResults
.myPackages?[index]);
},
);
},
);
},
itemCount: packageResults.myPackages?.length,
shrinkWrap: true,
);
itemCount:
packageResults.myPackages?.length,
shrinkWrap: true,
)
: Container(
child: Center(
child: Text("There is no item to show."),
),
);
},
),
),
@@ -39,23 +39,25 @@ class _PackageResultScreenState extends State<PackageResultScreen> {
void initState() {
sc = new ScrollController();
super.initState();
IsolateNameServer.registerPortWithName(_port.sendPort, 'downloader_send_port');
IsolateNameServer.registerPortWithName(
_port.sendPort, 'downloader_send_port');
_port.listen((dynamic data) {
String id = data[0];
DownloadTaskStatus status = data[1];
int progress = data[2];
if (status == DownloadTaskStatus.complete) {
print('Downloaded');
}
setState((){ });
});
String id = data[0];
DownloadTaskStatus status = data[1];
int progress = data[2];
if (status == DownloadTaskStatus.complete) {
print('Downloaded');
}
setState(() {});
});
FlutterDownloader.registerCallback(downloadCallback);
FlutterDownloader.registerCallback(downloadCallback);
}
@pragma('vm:entry-point')
static void downloadCallback(String id, int status, int progress) {
final SendPort? send = IsolateNameServer.lookupPortByName('downloader_send_port');
final SendPort? send =
IsolateNameServer.lookupPortByName('downloader_send_port');
send!.send([id, status, progress]);
}
@@ -107,7 +109,12 @@ class _PackageResultScreenState extends State<PackageResultScreen> {
),
appBar: AppBar(
titleSpacing: -10,
title: Text('Home', style: TextStyle(color: Colors.white,),),
title: Text(
'Home',
style: TextStyle(
color: Colors.white,
),
),
backgroundColor: Colors.black,
leading: IconButton(
icon: Icon(
@@ -209,27 +216,36 @@ class _PackageResultScreenState extends State<PackageResultScreen> {
color: Colors.black,
),
)
: ListView.builder(
controller: sc,
itemBuilder: (context, index) {
// String items = '';
// for (var item in packageResults
// .items![index].items) {
// items += item;
// items += ' , ';
// }
// items = items.substring(
// 0,
// items.length - 3,
// ); // remove extra ,
return PackageItemBox(
deviceBlockSize: _deviceBlockSize,
item: packageResults.items?[index],
: packageResults.items?.length != null
? ListView.builder(
controller: sc,
itemBuilder: (context, index) {
// String items = '';
// for (var item in packageResults
// .items![index].items) {
// items += item;
// items += ' , ';
// }
// items = items.substring(
// 0,
// items.length - 3,
// ); // remove extra ,
return PackageItemBox(
deviceBlockSize: _deviceBlockSize,
item:
packageResults.items?[index],
);
},
itemCount:
packageResults.items?.length,
shrinkWrap: true,
)
: Container(
child: Center(
child: Text(
"There is no item to show."),
),
);
},
itemCount: packageResults.items?.length,
shrinkWrap: true,
);
},
),
),
@@ -261,27 +277,28 @@ class PackageResultFloatingButton extends StatelessWidget {
children: [
if (userData['roles'].contains('Supervisor') ||
userData['roles'].contains('Admin'))
InkWell(
customBorder: CircleBorder(),
onTap: () async {
var status = await Permission.storage.request();
if (status.isGranted) {
Provider.of<PackageProvider>(context, listen: false).exportPackages();
}
},
child: Container(
padding: EdgeInsets.all(_deviceBlockSize),
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.black,
),
child: Icon(
Icons.import_export,
size: 10 * _deviceBlockSize,
color: Colors.white,
InkWell(
customBorder: CircleBorder(),
onTap: () async {
var status = await Permission.storage.request();
if (status.isGranted) {
Provider.of<PackageProvider>(context, listen: false)
.exportPackages();
}
},
child: Container(
padding: EdgeInsets.all(_deviceBlockSize),
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.black,
),
child: Icon(
Icons.import_export,
size: 10 * _deviceBlockSize,
color: Colors.white,
),
),
),
),
SizedBox(
width: 2 * _deviceBlockSize,
),
+18 -10
View File
@@ -278,16 +278,24 @@ class _TestResultScreenState extends State<TestResultScreen> {
color: Colors.black,
),
)
: ListView.builder(
controller: sc,
itemBuilder: (context, index) =>
TestItemBox(
deviceBlockSize: _deviceBlockSize,
item: testResults.items![index],
),
itemCount: testResults.items?.length,
shrinkWrap: true,
);
: testResults.items?.length != null
? ListView.builder(
controller: sc,
itemBuilder: (context, index) =>
TestItemBox(
deviceBlockSize: _deviceBlockSize,
item: testResults.items![index],
),
itemCount:
testResults.items?.length,
shrinkWrap: true,
)
: Container(
child: Center(
child: Text(
"There is no item to show."),
),
);
},
),
),
+8 -2
View File
@@ -230,7 +230,8 @@ class _TestVerifyScreenState extends State<TestVerifyScreen> {
color: Colors.black,
),
)
: ListView.builder(
: testResults.items?.length != null ?
ListView.builder(
controller: sc,
itemBuilder: (context, index) =>
(testResults.items![index].verified == 'None' &&
@@ -246,7 +247,12 @@ class _TestVerifyScreenState extends State<TestVerifyScreen> {
: Container(),
itemCount: testResults.items?.length,
shrinkWrap: true,
);
) :
Container(
child: Center(
child: Text("There is no item to show."),
),
);
},
),
),
@@ -91,7 +91,7 @@ class MyPackagesItemDataBox extends StatelessWidget {
),
if (isAdmin)
Container(
width: 30 * _deviceBlockSize,
width: 50 * _deviceBlockSize,
child: Row(
children: <Widget>[
Text(