mijn_aanmeldingen_model.dart 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. import '/backend/api_requests/api_calls.dart';
  2. import '/components/header_buttons_component_widget.dart';
  3. import '/flutter_flow/flutter_flow_theme.dart';
  4. import '/flutter_flow/flutter_flow_util.dart';
  5. import '/flutter_flow/flutter_flow_widgets.dart';
  6. import '/shared/drawer_component/drawer_component_widget.dart';
  7. import 'dart:ui';
  8. import '/flutter_flow/custom_functions.dart' as functions;
  9. import '/index.dart';
  10. import 'mijn_aanmeldingen_widget.dart' show MijnAanmeldingenWidget;
  11. import 'package:flutter/material.dart';
  12. import 'package:flutter_spinkit/flutter_spinkit.dart';
  13. import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
  14. import 'package:google_fonts/google_fonts.dart';
  15. import 'package:infinite_scroll_pagination/infinite_scroll_pagination.dart';
  16. import 'package:provider/provider.dart';
  17. class MijnAanmeldingenModel extends FlutterFlowModel<MijnAanmeldingenWidget> {
  18. /// State fields for stateful widgets in this page.
  19. // State field(s) for StaggeredView widget.
  20. PagingController<ApiPagingParams, dynamic>? staggeredViewPagingController;
  21. Function(ApiPagingParams nextPageMarker)? staggeredViewApiCall;
  22. // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget.
  23. ApiCallResponse? _apiResulttzz;
  24. set apiResulttzz(ApiCallResponse? value) {
  25. _apiResulttzz = value;
  26. debugLogWidgetClass(this);
  27. }
  28. ApiCallResponse? get apiResulttzz => _apiResulttzz;
  29. // Model for HeaderButtonsComponent component.
  30. late HeaderButtonsComponentModel headerButtonsComponentModel;
  31. // Model for drawerComponent component.
  32. late DrawerComponentModel drawerComponentModel;
  33. final Map<String, DebugDataField> debugGeneratorVariables = {};
  34. final Map<String, DebugDataField> debugBackendQueries = {};
  35. final Map<String, FlutterFlowModel> widgetBuilderComponents = {};
  36. @override
  37. void initState(BuildContext context) {
  38. headerButtonsComponentModel =
  39. createModel(context, () => HeaderButtonsComponentModel());
  40. drawerComponentModel = createModel(context, () => DrawerComponentModel());
  41. debugLogWidgetClass(this);
  42. }
  43. @override
  44. void dispose() {
  45. staggeredViewPagingController?.dispose();
  46. headerButtonsComponentModel.dispose();
  47. drawerComponentModel.dispose();
  48. }
  49. /// Additional helper methods.
  50. PagingController<ApiPagingParams, dynamic> setStaggeredViewController(
  51. Function(ApiPagingParams) apiCall,
  52. ) {
  53. staggeredViewApiCall = apiCall;
  54. return staggeredViewPagingController ??=
  55. _createStaggeredViewController(apiCall);
  56. }
  57. PagingController<ApiPagingParams, dynamic> _createStaggeredViewController(
  58. Function(ApiPagingParams) query,
  59. ) {
  60. final controller = PagingController<ApiPagingParams, dynamic>(
  61. firstPageKey: ApiPagingParams(
  62. nextPageNumber: 0,
  63. numItems: 0,
  64. lastResponse: null,
  65. ),
  66. );
  67. return controller
  68. ..addPageRequestListener(staggeredViewMijnAanmeldingenPage);
  69. }
  70. void staggeredViewMijnAanmeldingenPage(ApiPagingParams nextPageMarker) =>
  71. staggeredViewApiCall!(nextPageMarker)
  72. .then((staggeredViewMijnAanmeldingenResponse) {
  73. final pageItems = (getJsonField(
  74. staggeredViewMijnAanmeldingenResponse.jsonBody,
  75. r'''$''',
  76. ) ??
  77. [])
  78. .toList() as List;
  79. final newNumItems = nextPageMarker.numItems + pageItems.length;
  80. staggeredViewPagingController?.appendPage(
  81. pageItems,
  82. (pageItems.length > 0)
  83. ? ApiPagingParams(
  84. nextPageNumber: nextPageMarker.nextPageNumber + 1,
  85. numItems: newNumItems,
  86. lastResponse: staggeredViewMijnAanmeldingenResponse,
  87. )
  88. : null,
  89. );
  90. });
  91. @override
  92. WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData(
  93. widgetParameters: {
  94. 'type': debugSerializeParam(
  95. widget?.type,
  96. ParamType.String,
  97. link:
  98. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen',
  99. searchReference:
  100. 'reference=ShYKDgoEdHlwZRIGdzlnem5wcgQIAyAAUAFaBHR5cGU=',
  101. name: 'String',
  102. nullable: true,
  103. )
  104. }.withoutNulls.entries,
  105. actionOutputs: {
  106. 'apiResulttzz': debugSerializeParam(
  107. apiResulttzz,
  108. ParamType.ApiResponse,
  109. link:
  110. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen',
  111. name: 'ApiCallResponse',
  112. nullable: true,
  113. )
  114. }.entries,
  115. generatorVariables: debugGeneratorVariables.entries,
  116. backendQueries: debugBackendQueries.entries,
  117. componentStates: {
  118. 'headerButtonsComponentModel (HeaderButtonsComponent)':
  119. headerButtonsComponentModel?.toWidgetClassDebugData(),
  120. 'drawerComponentModel (drawerComponent)':
  121. drawerComponentModel?.toWidgetClassDebugData(),
  122. ...widgetBuilderComponents.map(
  123. (key, value) => MapEntry(
  124. key,
  125. value.toWidgetClassDebugData(),
  126. ),
  127. ),
  128. }.withoutNulls.entries,
  129. link:
  130. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=MijnAanmeldingen',
  131. searchReference:
  132. 'reference=OhBNaWpuQWFubWVsZGluZ2VuUAFaEE1pam5BYW5tZWxkaW5nZW4=',
  133. widgetClassName: 'MijnAanmeldingen',
  134. );
  135. }