You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Dart
		
	
import 'package:flutter/material.dart';
 | 
						|
import 'package:provider/provider.dart';
 | 
						|
import 'package:test_sa/controllers/providers/api/asset_transfer_provider.dart';
 | 
						|
import 'package:test_sa/controllers/providers/api/user_provider.dart';
 | 
						|
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
 | 
						|
import 'package:test_sa/extensions/context_extension.dart';
 | 
						|
import 'package:test_sa/views/app_style/colors.dart';
 | 
						|
import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
 | 
						|
import 'package:test_sa/views/widgets/device_trancfer/device_transfer_list.dart';
 | 
						|
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
 | 
						|
 | 
						|
import '../../../new_views/common_widgets/default_app_bar.dart';
 | 
						|
import '../../widgets/buttons/app_icon_button.dart';
 | 
						|
 | 
						|
class TrackDeviceTransferPage extends StatefulWidget {
 | 
						|
  static const String id = "/track-device-transfer";
 | 
						|
 | 
						|
  const TrackDeviceTransferPage({Key key}) : super(key: key);
 | 
						|
 | 
						|
  @override
 | 
						|
  State<TrackDeviceTransferPage> createState() => _TrackDeviceTransferPageState();
 | 
						|
}
 | 
						|
 | 
						|
class _TrackDeviceTransferPageState extends State<TrackDeviceTransferPage> with TickerProviderStateMixin {
 | 
						|
  AssetTransferProvider _deviceTransferProvider;
 | 
						|
  UserProvider _userProvider;
 | 
						|
  SettingProvider _settingProvider;
 | 
						|
 | 
						|
  @override
 | 
						|
  Widget build(BuildContext context) {
 | 
						|
    _deviceTransferProvider = Provider.of<AssetTransferProvider>(context);
 | 
						|
    _userProvider = Provider.of<UserProvider>(context);
 | 
						|
    _settingProvider = Provider.of<SettingProvider>(context);
 | 
						|
 | 
						|
    return Scaffold(
 | 
						|
      appBar: DefaultAppBar(title: context.translation.deviceTransfer),
 | 
						|
      body: SafeArea(
 | 
						|
        child: LoadingManager(
 | 
						|
          isLoading: _deviceTransferProvider.isLoading,
 | 
						|
          isFailedLoading: _deviceTransferProvider.items == null,
 | 
						|
          stateCode: _deviceTransferProvider.stateCode,
 | 
						|
          onRefresh: () async {
 | 
						|
            _deviceTransferProvider.reset();
 | 
						|
            await _deviceTransferProvider.getRequests(
 | 
						|
              user: _userProvider.user,
 | 
						|
              host: _settingProvider.host,
 | 
						|
            );
 | 
						|
          },
 | 
						|
          child: Stack(
 | 
						|
            children: [
 | 
						|
              Column(
 | 
						|
                children: [
 | 
						|
                  Expanded(
 | 
						|
                    child: DeviceTransferList(
 | 
						|
                      nextPage: _deviceTransferProvider.nextPage,
 | 
						|
                      onLazyLoad: () async {
 | 
						|
                        await _deviceTransferProvider.getRequests(
 | 
						|
                          user: _userProvider.user,
 | 
						|
                          host: _settingProvider.host,
 | 
						|
                        );
 | 
						|
                      },
 | 
						|
                      items: _deviceTransferProvider.items,
 | 
						|
                    ),
 | 
						|
                  ),
 | 
						|
                ],
 | 
						|
              ),
 | 
						|
            ],
 | 
						|
          ),
 | 
						|
        ),
 | 
						|
      ),
 | 
						|
    );
 | 
						|
  }
 | 
						|
}
 |