ids_material_sdk 3.6.0 copy "ids_material_sdk: ^3.6.0" to clipboard
ids_material_sdk: ^3.6.0 copied to clipboard

IDS Material SDK for Flutter offers fast networking, cache optimisation, custom widgets like Multi-Select DropDown, theming tools, and performance boosts to reduce server costs.

3.6.0 - 2025-02-12 #

  • Bug fixing and code optimisation
import 'package:ids_material_sdk/public/index.dart';

void loaderExample() async {
  IDSLoader(context).showLoader();
  try {
    await Future.delayed(Duration(seconds: 3)); // Simulate a network call
  } finally {
    IDSLoader(context).hideLoader();
  }
}

3.5.1 - 2025-02-11 #

  • Public access added

3.5.0 - 2025-02-11 #

Added #

  • uploadMultiPartFormData: This function allows uploading multiple files of any type (e.g., images, PDFs, videos, audio, documents) in a single request using multipart form data.
  • IDSDownloadManager: Introduced a new feature to efficiently manage file downloads, providing support for pause, resume, and retry capabilities with enhanced error handling.
  • IDSChipsRadioGroup: Introduced a new feature to efficiently manage option selections using chip-styled radio buttons. Provides support for dynamic option updates, state synchronization, and enhanced UI customization with properties like background color, text color, and border.
  • IDSInternetChecker – Reliable Internet Monitoring Utility
  • On-Demand Connectivity Check:
    • Use isConnected() to verify the current internet connection whenever required, such as before making API calls.
  • Real-Time Connectivity Notifications:
    • The onConnectionChange stream allows the app to react to connectivity changes immediately. For example:
      • Display a banner when the internet is lost.
      • Automatically retry failed requests when the connection is restored.
  • Cross-Platform Support: Works seamlessly across Android, iOS, Web, and Desktop platforms.

Improved #

  • Enhanced file handling capabilities to support a wider range of file formats.
  • Optimized network requests for better performance with large file uploads.

Fixed #

  • Resolved minor bugs related to file upload error handling and response parsing.

Example of uploadMultiPartFormData #

  void uploadFileWithData() async {

    final response = await uploadMultiPartFormData(
      endPoint: "https://example.com/upload",
      payloadParams: {
        'userId': '12345',
        'description': 'Uploading multiple files',
      },
      fileUploads: {
        'profileImage': ['path/to/profile_image.jpg'],
        'document': ['path/to/document.pdf'],
        'audioClip': ['path/to/audio.mp3'],
        'files':['path/to/audio.mp3', 'path/to/video.mpv4', 'path/to/images.jpg']
      },
      headers: {
        'Authorization': 'Bearer your_token_here',
        'Content-Type': 'multipart/form-data',
      },
      method: IDSMethodType.POST,
    );
  
    if (response['success']) {
      print('Files uploaded successfully!');
    } else {
      print('Upload failed: ${response['error']}');
    }
}

Example of IDSDownloadManager download files #

  /// Example usage demonstrating how to use the [IDSDownloadManager] to download files
  /// import this line  import 'package:ids_material_sdk/downloads/index.dart';
  void exampleUsage(String fileUrl) {
    IDSDownloadManager.instance.download(
      url: fileUrl,
      success: (fileBytes) async {
        // Handle successful download, e.g., display the file
        //print('Download successful. File size: ${fileBytes.lengthInBytes} bytes');
        /* /// path_provider add this in your pub file if not exist
        final fileName = fileUrl.split('/').last;
        final tempDir = await getTemporaryDirectory();
        final file = File('${tempDir.path}/$fileName');
        await file.writeAsBytes(fileBytes.lengthInBytes as List<int>);*/
      },
      failure: (error) {
        // Handle download error
        //print('Download failed with error: $error');
      },
    );
  }

Example of IDSChipsRadioGroup #

 
    String _selectedValue = "";
    /// Use this function to create the widget
    Widget buildRadioGroup() {
      return IDSChipsRadioGroup(
        options: ["Yes", "No"],
        selectedOption: _selectedValue,
        onChanged: (value) {
          setState(() {
            _selectedValue = value;
          });
        },
        chipsHeight: 40,
        chipsSelectedBgColor: Colors.indigoAccent,
      );
    }

How They Work Together #

Both IDSChipsRadioGroup and IDSInternetChecker enhance the overall user experience:

  • IDSChipsRadioGroup improves the visual interaction for option selection, offering a modern and responsive design.
  • IDSInternetChecker ensures the app can dynamically respond to internet connectivity, providing seamless offline and online transitions. These utilities help create robust, user-friendly apps that are both visually appealing and functionally reliable.
  /// Internet connection example
  Future<void> checkConnection() async {
    // 1. Check the current internet connection status
    bool isConnected = await IDSInternetChecker.isConnected();

    // 2. Listen for changes in internet connectivity status
    IDSInternetChecker.onConnectionChange.listen((isConnected) {
      if (isConnected) {
        // 3. Handle internet reconnection
        if (kDebugMode) {
          print("Internet reconnected");
        }
      } else {
        // 4. Handle internet disconnection
        if (kDebugMode) {
          print("Internet connection lost");
        }
      }
    });
  }

3.4.0 #

  • IDSExpandableCard components created

  • uploadMultiPartFormData api error handling did that

  • Code snippet added in the example file function name = uploadFormData

3.3.0 #

  • uploadMultiPartFormData api create to upload the multiple or single file in the form
  • Code clean up and formation
  • SDK API name uploadMultiPartFormData

3.2.0 #

  • index.dart file added to avoid multiple file import
  • IDSTextArea UI issues fixes
  • Multidrop down code format issue fixed

3.1.0 #

  • ids_multiselect_drop_down.dart code formatting issue fixed
  • SearchArrayDialog created code snippet available in example code.

3.0.1 #

  • Bug fixes of the bottom nav bar. below configuration property added in the bottom nav bar
  • this.enableTopShadow = true,
    
  • this.blurRadius = 2.0,
    
  • this.spreadRadius = 0.2,
    
  • this.offset = -2,
    
  • this.shadowColor = Colors.black12,
    

3.0.0 #

  • IDSBottomNavigationAppBar widget created
  • IDSBottomNavigationAppBar this widget is fully customizable as per the user case of the app
  • Code snippet https://github.com/vinod1988/ids_bottom_nav_bar_example
  • IDSTextAreaTitle formatting issue fixed
  • IDSTextArea formatting issue fixed

2.8.8 #

  • IDSTextAreaTitle widget added in the material sdk
  • IDSTextArea widget added in the material sdk

2.8.7 #

  • IDSDropdownTitle widget added in the material sdk

2.8.6 #

  • IDSFieldTitle widget added in the material sdk
  • code formatted as per dart formatter
  • code clean up and widget optimization

2.8.5 #

  • postFormDataInBg 500 error handle and send back in response
  • IDSNumberTextField created to user only number fields in the form
  • IDSUITextField keyboard type parameter added in the constructor

2.8.4 #

  • postFormDataInBg return type changed to Map<String, dynamic>

2.8.3 #

  • UIPasswordField parameter issue fixed. below lib version upgraded
  • xml: ^6.5.0
  • logger: ^2.5.0
  • states_rebuilder: ^6.4.0 _

2.8.2 #

  • Example code added
  • 500 server error print in the log, for debugging purpose only
  • Readme file updated
  • UIPasswordField suffix icon added for password show and hide functionality

2.8.1 #

  • Error Handling: Implement robust error handling mechanisms for all Payment Authorization Interface (PAI) processes to gracefully handle 500 errors.
  • Documentation Update: Update the existing documentation to reflect the latest implementation changes and best practices.
  • Code Optimization: Review and optimize the codebase for performance and efficiency.
  • Security Enhancement: Conduct a thorough security audit and implement necessary measures to strengthen the system's security posture.

2.8.0 #

  • postFormDataInBgArray [when api return the array response]

2.7.0 #

  • Document updated

2.6.0 #

  • PasswordField
  • Documentations

2.5.0 #

  • UITextField
  • Networking services enhancements

2.4.0 #

  • APi logic separated

2.3.0 #

  • Form data request api implemented

2.2.1 #

  • API bug fixing

2.2.0 #

  • Networking api added
  • Custom Button Style
  • Constants
  • Networking logger

2.1.0 #

  • Optimization

2.0.1 #

  • SKD upgraded to support 3.3

2.0.0 #

  • New html widget added

1.0.2 #

  • drop down key name changed

1.0.1 #

  • Drop down html content issue fixed

1.0.0 #

  • Version 1.0 released

0.0.3 #

  • TODO: Describe initial release.

0.0.2 #

  • TODO: Describe initial release.

0.0.1 #

  • TODO: Describe initial release.
26
likes
0
points
229
downloads

Publisher

verified publisherivandigitalsolutions.com

Weekly Downloads

IDS Material SDK for Flutter offers fast networking, cache optimisation, custom widgets like Multi-Select DropDown, theming tools, and performance boosts to reduce server costs.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

connectivity_plus, flutter, flutter_html, html_unescape, http, internet_connection_checker, logger, states_rebuilder, xml

More

Packages that depend on ids_material_sdk