Coder Social home page Coder Social logo

kechankrisna / flutter_responsive_table Goto Github PK

View Code? Open in Web Editor NEW
60.0 3.0 25.0 2.09 MB

License: BSD 2-Clause "Simplified" License

Kotlin 0.13% Ruby 2.85% Swift 1.23% Objective-C 0.04% Dart 41.09% Makefile 6.38% C++ 24.96% C 2.89% HTML 4.17% Batchfile 1.55% CMake 14.70%

flutter_responsive_table's Introduction

responsive_table

Responsive Data table is a highly flexible tool built upon the foundations of progressive enhancement, that adds all of these advanced features to any flutter table.

Example

screenshot1

screenshot2

screenshot3

screenshot4

import 'dart:math';
import 'package:flutter/material.dart';
import 'package:responsive_table/responsive_table.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      initialRoute: '/',
      routes: {
        '/': (_) => DataPage(),
      },
    );
  }
}

class DataPage extends StatefulWidget {
  DataPage({Key? key}) : super(key: key);
  @override
  _DataPageState createState() => _DataPageState();
}

class _DataPageState extends State<DataPage> {
  late List<DatatableHeader> _headers;

  List<int> _perPages = [10, 20, 50, 100];
  int _total = 100;
  int? _currentPerPage = 10;
  List<bool>? _expanded;
  String? _searchKey = "id";

  int _currentPage = 1;
  bool _isSearch = false;
  List<Map<String, dynamic>> _sourceOriginal = [];
  List<Map<String, dynamic>> _sourceFiltered = [];
  List<Map<String, dynamic>> _source = [];
  List<Map<String, dynamic>> _selecteds = [];
  // ignore: unused_field
  String _selectableKey = "id";

  String? _sortColumn;
  bool _sortAscending = true;
  bool _isLoading = true;
  bool _showSelect = true;
  var random = new Random();

  List<Map<String, dynamic>> _generateData({int n: 100}) {
    final List source = List.filled(n, Random.secure());
    List<Map<String, dynamic>> temps = [];
    var i = 1;
    print(i);
    // ignore: unused_local_variable
    for (var data in source) {
      temps.add({
        "id": i,
        "sku": "$i\000$i",
        "name": "Product $i",
        "category": "Category-$i",
        "price": i * 10.00,
        "cost": "20.00",
        "margin": "${i}0.20",
        "in_stock": "${i}0",
        "alert": "5",
        "received": [i + 20, 150]
      });
      i++;
    }
    return temps;
  }

  _initializeData() async {
    _mockPullData();
  }

  _mockPullData() async {
    _expanded = List.generate(_currentPerPage!, (index) => false);

    setState(() => _isLoading = true);
    Future.delayed(Duration(seconds: 3)).then((value) {
      _sourceOriginal.clear();
      _sourceOriginal.addAll(_generateData(n: random.nextInt(10000)));
      _sourceFiltered = _sourceOriginal;
      _total = _sourceFiltered.length;
      _source = _sourceFiltered.getRange(0, _currentPerPage!).toList();
      setState(() => _isLoading = false);
    });
  }

  _resetData({start: 0}) async {
    setState(() => _isLoading = true);
    var _expandedLen =
        _total - start < _currentPerPage! ? _total - start : _currentPerPage;
    Future.delayed(Duration(seconds: 0)).then((value) {
      _expanded = List.generate(_expandedLen as int, (index) => false);
      _source.clear();
      _source = _sourceFiltered.getRange(start, start + _expandedLen).toList();
      setState(() => _isLoading = false);
    });
  }

  _filterData(value) {
    setState(() => _isLoading = true);

    try {
      if (value == "" || value == null) {
        _sourceFiltered = _sourceOriginal;
      } else {
        _sourceFiltered = _sourceOriginal
            .where((data) => data[_searchKey!]
                .toString()
                .toLowerCase()
                .contains(value.toString().toLowerCase()))
            .toList();
      }

      _total = _sourceFiltered.length;
      var _rangeTop = _total < _currentPerPage! ? _total : _currentPerPage!;
      _expanded = List.generate(_rangeTop, (index) => false);
      _source = _sourceFiltered.getRange(0, _rangeTop).toList();
    } catch (e) {
      print(e);
    }
    setState(() => _isLoading = false);
  }

  @override
  void initState() {
    super.initState();

    /// set headers
    _headers = [
      DatatableHeader(
          text: "ID",
          value: "id",
          show: true,
          sortable: true,
          textAlign: TextAlign.center),
      DatatableHeader(
          text: "Name",
          value: "name",
          show: true,
          flex: 2,
          sortable: true,
          editable: true,
          textAlign: TextAlign.left),
      DatatableHeader(
          text: "SKU",
          value: "sku",
          show: true,
          sortable: true,
          textAlign: TextAlign.center),
      DatatableHeader(
          text: "Category",
          value: "category",
          show: true,
          sortable: true,
          textAlign: TextAlign.left),
      DatatableHeader(
          text: "Price",
          value: "price",
          show: true,
          sortable: true,
          textAlign: TextAlign.left),
      DatatableHeader(
          text: "Margin",
          value: "margin",
          show: true,
          sortable: true,
          textAlign: TextAlign.left),
      DatatableHeader(
          text: "In Stock",
          value: "in_stock",
          show: true,
          sortable: true,
          textAlign: TextAlign.left),
      DatatableHeader(
          text: "Alert",
          value: "alert",
          show: true,
          sortable: true,
          textAlign: TextAlign.left),
      DatatableHeader(
          text: "Received",
          value: "received",
          show: true,
          sortable: false,
          sourceBuilder: (value, row) {
            List list = List.from(value);
            return Container(
              child: Column(
                children: [
                  Container(
                    width: 85,
                    child: LinearProgressIndicator(
                      value: list.first / list.last,
                    ),
                  ),
                  Text("${list.first} of ${list.last}")
                ],
              ),
            );
          },
          textAlign: TextAlign.center),
    ];

    _initializeData();
  }

  @override
  void dispose() {
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("RESPONSIVE DATA TABLE"),
      ),
      drawer: Drawer(
        child: ListView(
          children: [
            ListTile(
              leading: Icon(Icons.home),
              title: Text("home"),
              onTap: () {},
            ),
            ListTile(
              leading: Icon(Icons.storage),
              title: Text("data"),
              onTap: () {},
            )
          ],
        ),
      ),
      body: SingleChildScrollView(
          child: Column(
              mainAxisAlignment: MainAxisAlignment.start,
              mainAxisSize: MainAxisSize.max,
              children: [
            Container(
              margin: EdgeInsets.all(10),
              padding: EdgeInsets.all(0),
              constraints: BoxConstraints(
                maxHeight: 700,
              ),
              child: Card(
                elevation: 1,
                shadowColor: Colors.black,
                clipBehavior: Clip.none,
                child: ResponsiveDatatable(
                  title: TextButton.icon(
                    onPressed: () => {},
                    icon: Icon(Icons.add),
                    label: Text("new item"),
                  ),
                  reponseScreenSizes: [ScreenSize.xs],
                  actions: [
                    if (_isSearch)
                      Expanded(
                          child: TextField(
                        decoration: InputDecoration(
                            hintText: 'Enter search term based on ' +
                                _searchKey!
                                    .replaceAll(new RegExp('[\\W_]+'), ' ')
                                    .toUpperCase(),
                            prefixIcon: IconButton(
                                icon: Icon(Icons.cancel),
                                onPressed: () {
                                  setState(() {
                                    _isSearch = false;
                                  });
                                  _initializeData();
                                }),
                            suffixIcon: IconButton(
                                icon: Icon(Icons.search), onPressed: () {})),
                        onSubmitted: (value) {
                          _filterData(value);
                        },
                      )),
                    if (!_isSearch)
                      IconButton(
                          icon: Icon(Icons.search),
                          onPressed: () {
                            setState(() {
                              _isSearch = true;
                            });
                          })
                  ],
                  headers: _headers,
                  source: _source,
                  selecteds: _selecteds,
                  showSelect: _showSelect,
                  autoHeight: false,
                  dropContainer: (data) {
                    if (int.tryParse(data['id'].toString())!.isEven) {
                      return Text("is Even");
                    }
                    return _DropDownContainer(data: data);
                  },
                  onChangedRow: (value, header) {
                    /// print(value);
                    /// print(header);
                  },
                  onSubmittedRow: (value, header) {
                    /// print(value);
                    /// print(header);
                  },
                  onTabRow: (data) {
                    print(data);
                  },
                  onSort: (value) {
                    setState(() => _isLoading = true);

                    setState(() {
                      _sortColumn = value;
                      _sortAscending = !_sortAscending;
                      if (_sortAscending) {
                        _sourceFiltered.sort((a, b) =>
                            b["$_sortColumn"].compareTo(a["$_sortColumn"]));
                      } else {
                        _sourceFiltered.sort((a, b) =>
                            a["$_sortColumn"].compareTo(b["$_sortColumn"]));
                      }
                      var _rangeTop = _currentPerPage! < _sourceFiltered.length
                          ? _currentPerPage!
                          : _sourceFiltered.length;
                      _source = _sourceFiltered.getRange(0, _rangeTop).toList();
                      _searchKey = value;

                      _isLoading = false;
                    });
                  },
                  expanded: _expanded,
                  sortAscending: _sortAscending,
                  sortColumn: _sortColumn,
                  isLoading: _isLoading,
                  onSelect: (value, item) {
                    print("$value  $item ");
                    if (value!) {
                      setState(() => _selecteds.add(item));
                    } else {
                      setState(
                          () => _selecteds.removeAt(_selecteds.indexOf(item)));
                    }
                  },
                  onSelectAll: (value) {
                    if (value!) {
                      setState(() => _selecteds =
                          _source.map((entry) => entry).toList().cast());
                    } else {
                      setState(() => _selecteds.clear());
                    }
                  },
                  footers: [
                    Container(
                      padding: EdgeInsets.symmetric(horizontal: 15),
                      child: Text("Rows per page:"),
                    ),
                    if (_perPages.isNotEmpty)
                      Container(
                        padding: EdgeInsets.symmetric(horizontal: 15),
                        child: DropdownButton<int>(
                          value: _currentPerPage,
                          items: _perPages
                              .map((e) => DropdownMenuItem<int>(
                                    child: Text("$e"),
                                    value: e,
                                  ))
                              .toList(),
                          onChanged: (dynamic value) {
                            setState(() {
                              _currentPerPage = value;
                              _currentPage = 1;
                              _resetData();
                            });
                          },
                          isExpanded: false,
                        ),
                      ),
                    Container(
                      padding: EdgeInsets.symmetric(horizontal: 15),
                      child:
                          Text("$_currentPage - $_currentPerPage of $_total"),
                    ),
                    IconButton(
                      icon: Icon(
                        Icons.arrow_back_ios,
                        size: 16,
                      ),
                      onPressed: _currentPage == 1
                          ? null
                          : () {
                              var _nextSet = _currentPage - _currentPerPage!;
                              setState(() {
                                _currentPage = _nextSet > 1 ? _nextSet : 1;
                                _resetData(start: _currentPage - 1);
                              });
                            },
                      padding: EdgeInsets.symmetric(horizontal: 15),
                    ),
                    IconButton(
                      icon: Icon(Icons.arrow_forward_ios, size: 16),
                      onPressed: _currentPage + _currentPerPage! - 1 > _total
                          ? null
                          : () {
                              var _nextSet = _currentPage + _currentPerPage!;

                              setState(() {
                                _currentPage = _nextSet < _total
                                    ? _nextSet
                                    : _total - _currentPerPage!;
                                _resetData(start: _nextSet - 1);
                              });
                            },
                      padding: EdgeInsets.symmetric(horizontal: 15),
                    )
                  ],
                ),
              ),
            ),
          ])),
      floatingActionButton: FloatingActionButton(
        onPressed: _initializeData,
        child: Icon(Icons.refresh_sharp),
      ),
    );
  }
}

class _DropDownContainer extends StatelessWidget {
  final Map<String, dynamic> data;
  const _DropDownContainer({Key? key, required this.data}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    List<Widget> _children = data.entries.map<Widget>((entry) {
      Widget w = Row(
        children: [
          Text(entry.key.toString()),
          Spacer(),
          Text(entry.value.toString()),
        ],
      );
      return w;
    }).toList();

    return Container(
      /// height: 100,
      child: Column(
        /// children: [
        ///   Expanded(
        ///       child: Container(
        ///     color: Colors.red,
        ///     height: 50,
        ///   )),

        /// ],
        children: _children,
      ),
    );
  }
}

Methods

    onSelect( bool selected, dynamic key);
    onSelectAll( bool selected );
    onTabRow( dynamic row );
    onSort( dynamic value );

Properties

    title: Widget
    headers: List<DatatableHeader>
    actions: List<Widget>
    source: List<Map<String, dynamic>>
    selecteds: List<Map<String, dynamic>>
    showSelect: bool
    footers: List<Widget>
    sortColumn: String
    sortAscending: bool
    isLoading: bool,
    autoHeight: bool,

flutter_responsive_table's People

Contributors

damithdev avatar kechankrisna avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

flutter_responsive_table's Issues

Lazy loading

I tested your library and it works great for small lists, but when I try to load a significant amount of data (I tested it with 10,000 rows, the application crashes), which could be solved with a lazy load

Taking advantage of the question, is there any way to explicitly define to use table instead of list?

Refresh the datatable

Hi, how can I refresh the datatable after I have updated or added new items?
Now I have to refresh the browser to do it.

Bug: back button not working as expected on tables with 11 rows

When using the back button in the footer to go back to the first page of the table with 11 rows (considering rows per page is 10), the button is disabled and I’m unable to return to the first page. This occurs when there are 11 rows, but the button works correctly if there are 12 or more rows so I think it’s a counting problem.

Steps to reproduce:

  1. Load a table with exactly 11 rows.
  2. Use the forward button to go to the next page.
  3. Attempt to use the back button to return to the first page.

Expected behavior:
The back button should be enabled and navigate to first page.

Actual behavior:
The back button do not work correctly and i am unable to return to the first page with 11 rows, but can go back if there is 12 or more rows.

selecteds don't work

Hi i'm using mobx insted setstate to mark the checkbox and it doesn't work, but if a resize the screen the checkbox is marked.

Can help me?

Sorry for bad english!

Unexpected null value

Hello,

Am new to Flutter Web and Dart. I am trying to use this package in a test web app. I have followed the example but I keep getting the Unexpected null value error.

I am using:
responsive_table: ^0.2.0+2
Flutter (Channel stable, 2.10.4, on Microsoft Windows [Version 10.0.17763.2746], locale en-US)

The terminal output is:

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following TypeErrorImpl was thrown building ResponsiveDatatable(dirty, dependencies:
[MediaQuery], state: _ResponsiveDatatableState#cb79a):
Unexpected null value.

The relevant error-causing widget was:
ResponsiveDatatable
ResponsiveDatatable:file:///C:/TPR-Flutter-Sources/E-Commerce_Sample/flutter-web-admin-dashboard-ecommerce-main/lib/pages/orders/orders_page.dart:264:34

When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 251:49 throw
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 528:63 nullCheck
packages/responsive_table/src/responsive_datatable.dart 378:31
packages/responsive_table/src/responsive_datatable.dart 380:39 desktopList
packages/responsive_table/src/responsive_datatable.dart 476:54
packages/responsive_table/src/responsive_datatable.dart 482:40 build
packages/flutter/src/widgets/framework.dart 4870:27 build
packages/flutter/src/widgets/framework.dart 4754:15 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 5108:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 5787:32 updateChildren
packages/flutter/src/widgets/framework.dart 6445:17 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 5108:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 6291:14 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4960:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 5108:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 4834:5 update
packages/flutter/src/widgets/framework.dart 3501:14 updateChild
packages/flutter/src/widgets/framework.dart 4780:16 performRebuild
packages/flutter/src/widgets/framework.dart 4928:11 performRebuild
packages/flutter/src/widgets/framework.dart 4477:5 rebuild
packages/flutter/src/widgets/framework.dart 2659:18 buildScope
packages/flutter/src/widgets/binding.dart 882:9 drawFrame
packages/flutter/src/scheduler/binding.dart 1081:9 handleDrawFrame
packages/flutter/src/scheduler/binding.dart 995:5 [_handleDrawFrame]
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 1011:13 invoke
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/platform_dispatcher.dart 159:5 invokeOnDrawFrame
C:/b/s/w/ir/cache/builder/src/out/host_debug/flutter_web_sdk/lib/_engine/engine/initialization.dart 128:45

════════════════════════════════════════════════════════════════════════════════════════════════════

Is there any other information I can provide to help debug this issue?
Thanks!

Please check your example

Hi,
I launched your example in flutter web. Unfortunately it is not working correctly:

  • A default rows per page setting is missing. The variable is not initialised and the field empty, like on the screenshot.
  • All entries were displayed on one page, the rows per page controlls have no effekt.

Fast import from json

Hi

I have this list of json with 1000 / 10'000 records

[ {"Name":"Maria","Surname":"Red"} , {"Name":"Jack","Surname":"White"} ]

How i can import in temps List ?

List<Map<String, dynamic>> temps = List<Map<String, dynamic>>();

this don't work:
final List<Map<String, dynamic>> temps = List<Map<String, dynamic>>.from(json.decode(sTextjson));

this 1 at time, is too slow:

temps.add({
  "codice": "100",
  "Ragione Sociale": "$i\000$i",
  "Aggiuntiva": "Product Product Product Product $i",
  "Indirizzo": "Category-$i",
  "cap": "${i}0.00",
  "località": "20.00",
  "provincia": "${i}0.20",
  "telefono": "${i}0",
  "received": [i + 20, 150]
});

Sample Documentation to use Async Datatable - Searching at Service Side

This package looks nice. 👍

E.g. I have to supply following to api. we can't just response 10K records. Can you give sample to do server-side datatable.

image

Pagination data will be getting from response header.

Response data in plain text

[
  {
    "id": 1004,
    "userName": "testingbora",
    "email": "[email protected]",
    "firstName": null,
    "lastName": null,
    "imageUrl": null,
    "isActive": false,
    "token": null,
    "refreshToken": null,
    "refreshTokenExpiryTime": "0001-01-01T00:00:00"
  },
  {
    "id": 1003,
    "userName": "newuser",
    "email": "[email protected]",
    "firstName": null,
    "lastName": null,
    "imageUrl": null,
    "isActive": false,
    "token": null,
    "refreshToken": null,
    "refreshTokenExpiryTime": "0001-01-01T00:00:00"
  },
  {
    "id": 3,
    "userName": "testing",
    "email": "[email protected]",
    "firstName": "test",
    "lastName": null,
    "imageUrl": null,
    "isActive": false,
    "token": null,
    "refreshToken": null,
    "refreshTokenExpiryTime": "0001-01-01T00:00:00"
  },
  {
    "id": 2,
    "userName": "staff",
    "email": "[email protected]",
    "firstName": "John",
    "lastName": "Doe",
    "imageUrl": null,
    "isActive": true,
    "token": null,
    "refreshToken": "chU632uxTIBaXA/hXldu1Bn4hj38L9wmYA+z83tQtI0=",
    "refreshTokenExpiryTime": "2022-07-01T07:32:41.767422"
  },
  {
    "id": 1,
    "userName": "superadmin",
    "email": "[email protected]",
    "firstName": "Sras",
    "lastName": "Chhin",
    "imageUrl": null,
    "isActive": true,
    "token": null,
    "refreshToken": "0OySbDTf1hBYdIm3pBMdjhQ9a5gt0J5NztFNO73wwuc=",
    "refreshTokenExpiryTime": "2022-07-01T13:08:14.553927"
  }
]

Then possibly, wrapping them like this


 PaginatedResponse paginatedResponse =
        PaginatedResponse(items: items, pagination: pagination!); // items are array result from api.

Expanded required otherwise exception

It took some experiments to learn that expanded must be set, if it is NULL plugin crashes :(

Change in example:
autoHeight: false, expanded: null, ),

Then:

Restarted application in 123ms. 1 ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ The following TypeErrorImpl was thrown building ResponsiveDatatable(dirty, dependencies: [MediaQuery], state: _ResponsiveDatatableState#da38f): Unexpected null value. The relevant error-causing widget was: ResponsiveDatatable ResponsiveDatatable:file:///Users/michal/Downloads/flutter_responsive_table-master/example/lib/main.dart:268:24 When the exception was thrown, this was the stack: dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 266:49 throw_ dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 528:63 nullCheck packages/responsive_table/src/responsive_datatable.dart 382:31 <fn> packages/responsive_table/src/responsive_datatable.dart 384:39 desktopList packages/responsive_table/src/responsive_datatable.dart 480:54 <fn> packages/responsive_table/src/responsive_datatable.dart 486:40 build packages/flutter/src/widgets/framework.dart 4992:27 build packages/flutter/src/widgets/framework.dart 4878:15 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 5904:32 updateChildren packages/flutter/src/widgets/framework.dart 6460:17 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 4956:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 5904:32 updateChildren packages/flutter/src/widgets/framework.dart 6460:17 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 6307:14 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5228:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 5082:5 update packages/flutter/src/widgets/framework.dart 3570:14 updateChild packages/flutter/src/widgets/framework.dart 4904:16 performRebuild packages/flutter/src/widgets/framework.dart 5050:11 performRebuild packages/flutter/src/widgets/framework.dart 4604:5 rebuild packages/flutter/src/widgets/framework.dart 2667:18 buildScope packages/flutter/src/widgets/binding.dart 882:9 drawFrame packages/flutter/src/rendering/binding.dart 378:5 [_handlePersistentFrameCallback] packages/flutter/src/scheduler/binding.dart 1175:15 [_invokeFrameCallback] packages/flutter/src/scheduler/binding.dart 1104:9 handleDrawFrame packages/flutter/src/scheduler/binding.dart 1015:5 [_handleDrawFrame] lib/_engine/engine/platform_dispatcher.dart 1168:13 invoke lib/_engine/engine/platform_dispatcher.dart 219:5 invokeOnDrawFrame lib/_engine/engine/initialization.dart 195:45 <fn> dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 334:14 _checkAndCall dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 339:39 dcall ════════════════════════════════════════════════════════════════════════════════════════════════════

Horizontally scrollable

That's a nice job !
I need a feature that I can't manage to set up alone

How to render the table scrollable horizontally without the responsive ?

PROBLEM
I got an error : "size: MISSING" or other
When i encapsulated "desktopList" and "desktopHeader"

Check Box Color

I want to change the check box color. But this is not possible as it gives the default color of the check box.

fetch data from api..can't work

 List<Map<String, dynamic>> _menuItem = List<Map<String, dynamic>>();

@override
  void initState() {
    super.initState();
    _initData();
  }

 _initData() async {
    setState(() => _isLoading = true);
    final response  =await http.get(url);
    List<Map<String, dynamic>> temps = List<Map<String, dynamic>>();

    if(response.statusCode ==200){
      final list2 = json.decode(response.body);
      final list = list2['id'] as List; 

      list.forEach((e) { 
        var d ={
         "un_id": e['un_id'],
        "name":e['name'],
        "categories":e['categories']
        };
        temps.add(d);      
      });

     setState(() {
      _menuItem = temps; 
      _isLoading = false;
          });
    }
  }

still, I am getting an exception => elements is not iterable

RangeError (index): Index out of range: index should be less than 10: 10

Hi, i am getting this error when hot restart the application.
RangeError (index): Index out of range: index should be less than 10: 10

This is when I have more then 10 items in my data table. If I change row per page in my app to a value more then my items count, everything works fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.