asset search loading ui fixed.

design_3.0_TM_Module
Sikander Saleem 2 months ago
parent a479a23790
commit c1b1f37eec

@ -47,10 +47,7 @@ class _MyAssetsPageState extends State<MyAssetsPage> {
_getDevice(String result, {bool isQr = false}) async { _getDevice(String result, {bool isQr = false}) async {
_devicesProvider.reset(); _devicesProvider.reset();
await _devicesProvider.getAssets( await _devicesProvider.getAssets(search: DeviceSearch(assetNo: result, assetSerialNumber: ""), isQr: isQr);
search: DeviceSearch(assetNo: result, assetSerialNumber: ""),
isQr: isQr,
);
_searchableList.clear(); _searchableList.clear();
_searchableList.addAll(_devicesProvider.devices); _searchableList.addAll(_devicesProvider.devices);
} }
@ -144,7 +141,7 @@ class _MyAssetsPageState extends State<MyAssetsPage> {
), ),
body: SafeArea( body: SafeArea(
child: LoadingManager( child: LoadingManager(
isLoading: _devicesProvider.isLoading, isLoading: false,
stateCode: _devicesProvider.stateCode, stateCode: _devicesProvider.stateCode,
isFailedLoading: _devicesProvider.devices == null, isFailedLoading: _devicesProvider.devices == null,
onRefresh: () async { onRefresh: () async {
@ -155,49 +152,54 @@ class _MyAssetsPageState extends State<MyAssetsPage> {
children: [ children: [
Expanded( Expanded(
child: _searchableList.isEmpty child: _searchableList.isEmpty
? NoDataFound(message: context.translation.noDeviceFound) ? NoDataFound(message: context.translation.noDeviceFound).center
: LazyLoading( : LazyLoading(
nextPage: _devicesProvider.nextPage, nextPage: _devicesProvider.nextPage,
onLazyLoad: () async { onLazyLoad: () async {
await _devicesProvider.getDevicesList( await _devicesProvider.getAssets(
user: _userProvider.user!, // user: _userProvider.user!,
host: _settingProvider.host!, // host: _settingProvider.host!,
hospitalId: _userProvider.user!.clientId!, // hospitalId: _userProvider.user!.clientId!,
search: _searchAsset?.copyWith(assetSerialNumber: snController.text, assetNo: numberController.text), search: _searchAsset,
// serialNumber: snController.text, // serialNumber: snController.text,
// number: numberController.text, // number: numberController.text,
); );
}, },
child: AnimatedSwitcher( child: Stack(
duration: const Duration(milliseconds: 500), children: [
child: showListView AnimatedSwitcher(
? ListView.separated( duration: const Duration(milliseconds: 500),
padding: const EdgeInsets.all(16), child: showListView
itemCount: _searchableList.length, ? ListView.separated(
separatorBuilder: (listContext, itemIndex) => 8.height, padding: const EdgeInsets.all(16),
itemBuilder: (listContext, itemIndex) { itemCount: _searchableList.length,
return AssetItemListView( separatorBuilder: (listContext, itemIndex) => 8.height,
device: _searchableList[itemIndex], itemBuilder: (listContext, itemIndex) {
onPressed: (device) { return AssetItemListView(
widget.fromBottomBar ? Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.id) : Navigator.of(context).pop(device); device: _searchableList[itemIndex],
// Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.id); onPressed: (device) {
widget.fromBottomBar ? Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.id) : Navigator.of(context).pop(device);
// Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.id);
},
);
}, },
); )
}, : GridView.builder(
) gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, childAspectRatio: 188 / 261, crossAxisSpacing: 12, mainAxisSpacing: 12),
: GridView.builder( itemCount: _searchableList.length,
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2, childAspectRatio: 188 / 261, crossAxisSpacing: 12, mainAxisSpacing: 12), padding: const EdgeInsets.all(16),
itemCount: _searchableList.length, itemBuilder: (context, index) {
padding: const EdgeInsets.all(16), return AssetItemGridView(
itemBuilder: (context, index) { device: _searchableList[index],
return AssetItemGridView( onPressed: (device) {
device: _searchableList[index], widget.fromBottomBar ? Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.id) : Navigator.of(context).pop(device);
onPressed: (device) { },
widget.fromBottomBar ? Navigator.of(context).pushNamed(AssetDetailPage.id, arguments: device.id) : Navigator.of(context).pop(device); );
}, },
); ),
}, ),
), if (_devicesProvider.isLoading) Align(alignment: Alignment.bottomCenter, child: const CircularProgressIndicator().paddingOnly(top: 16, bottom: 16)),
],
), ),
)), )),
], ],

Loading…
Cancel
Save