UIPaging.fromRequest constructor

UIPaging.fromRequest({
  1. required int total,
  2. String prefix = 'page',
  3. String widget = 'dashboard/theme/ui/paging',
  4. Map<String, String> otherQuery = const {},
  5. int pageSize = 5,
  6. String orderByDef = '',
  7. bool orderReverseDef = false,
  8. int pageDef = 1,
})

A factory constructor to create UIPaging from a request. This factory method extracts relevant pagination information from the request and provides default values for optional parameters:

  • total: The total number of items.
  • prefix: The page query parameter name (default is 'page').
  • widget: The widget identifier (default is 'dashboard/theme/ui/paging').
  • otherQuery: Additional query parameters.
  • pageSize: The number of items per page (default is 5).
  • orderByDef: The default field for ordering.
  • orderReverseDef: The default ordering direction.
  • pageDef: The default page number (default is 1).

Implementation

factory UIPaging.fromRequest({
  required int total,
  String prefix = 'page',
  String widget = 'dashboard/theme/ui/paging',
  Map<String, String> otherQuery = const {},
  int pageSize = 5,
  String orderByDef = '',
  bool orderReverseDef = false,
  int pageDef = 1,
}) {
  var page = Context.rq.get<int>(prefix, def: pageDef);
  var pageSizeFix = Context.rq.get<int>('pageSize', def: pageSize);
  var orderBy = Context.rq.get<String>('orderBy', def: orderByDef);
  var orderReverse =
      Context.rq.get<bool>('orderReverse', def: orderReverseDef);

  return UIPaging(
    widget: widget,
    page: page,
    total: total,
    pageSize: pageSizeFix,
    orderBy: orderBy,
    orderReverse: orderReverse,
    prefix: prefix,
    otherQuery: otherQuery,
  );
}