mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-11 09:48:55 +03:30
Set 'There is no item to show' to all menu screens
This commit is contained in:
@@ -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."),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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."),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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,
|
||||
),
|
||||
|
||||
@@ -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."),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user