mijn_aanmeldingen_model.dart 5.6 KB

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