import '/backend/api_requests/api_calls.dart'; import '/components/header_buttons_component_widget.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; import '/shared/drawer_component/drawer_component_widget.dart'; import 'dart:ui'; import '/flutter_flow/custom_functions.dart' as functions; import '/index.dart'; import 'mijn_aanmeldingen_widget.dart' show MijnAanmeldingenWidget; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:infinite_scroll_pagination/infinite_scroll_pagination.dart'; import 'package:provider/provider.dart'; class MijnAanmeldingenModel extends FlutterFlowModel { /// State fields for stateful widgets in this page. // State field(s) for StaggeredView widget. PagingController? staggeredViewPagingController; Function(ApiPagingParams nextPageMarker)? staggeredViewApiCall; // Stores action output result for [Backend Call - API (AanmeldingKloonbron)] action in Button widget. ApiCallResponse? _apiResulttzz; set apiResulttzz(ApiCallResponse? value) { _apiResulttzz = value; debugLogWidgetClass(this); } ApiCallResponse? get apiResulttzz => _apiResulttzz; // Model for HeaderButtonsComponent component. late HeaderButtonsComponentModel headerButtonsComponentModel; // Model for drawerComponent component. late DrawerComponentModel drawerComponentModel; final Map debugGeneratorVariables = {}; final Map debugBackendQueries = {}; final Map widgetBuilderComponents = {}; @override void initState(BuildContext context) { headerButtonsComponentModel = createModel(context, () => HeaderButtonsComponentModel()); drawerComponentModel = createModel(context, () => DrawerComponentModel()); debugLogWidgetClass(this); } @override void dispose() { staggeredViewPagingController?.dispose(); headerButtonsComponentModel.dispose(); drawerComponentModel.dispose(); } /// Additional helper methods. PagingController setStaggeredViewController( Function(ApiPagingParams) apiCall, ) { staggeredViewApiCall = apiCall; return staggeredViewPagingController ??= _createStaggeredViewController(apiCall); } PagingController _createStaggeredViewController( Function(ApiPagingParams) query, ) { final controller = PagingController( firstPageKey: ApiPagingParams( nextPageNumber: 0, numItems: 0, lastResponse: null, ), ); return controller ..addPageRequestListener(staggeredViewMijnAanmeldingenPage); } void staggeredViewMijnAanmeldingenPage(ApiPagingParams nextPageMarker) => staggeredViewApiCall!(nextPageMarker) .then((staggeredViewMijnAanmeldingenResponse) { final pageItems = (getJsonField( staggeredViewMijnAanmeldingenResponse.jsonBody, r'''$''', ) ?? []) .toList() as List; final newNumItems = nextPageMarker.numItems + pageItems.length; staggeredViewPagingController?.appendPage( pageItems, (pageItems.length > 0) ? ApiPagingParams( nextPageNumber: nextPageMarker.nextPageNumber + 1, numItems: newNumItems, lastResponse: staggeredViewMijnAanmeldingenResponse, ) : null, ); }); @override WidgetClassDebugData toWidgetClassDebugData() => WidgetClassDebugData( widgetParameters: { 'type': debugSerializeParam( widget?.type, ParamType.String, link: 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen', searchReference: 'reference=ShYKDgoEdHlwZRIGdzlnem5wcgQIAyAAUAFaBHR5cGU=', name: 'String', nullable: true, ) }.withoutNulls.entries, actionOutputs: { 'apiResulttzz': debugSerializeParam( apiResulttzz, ParamType.ApiResponse, link: 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=MijnAanmeldingen', name: 'ApiCallResponse', nullable: true, ) }.entries, generatorVariables: debugGeneratorVariables.entries, backendQueries: debugBackendQueries.entries, componentStates: { 'headerButtonsComponentModel (HeaderButtonsComponent)': headerButtonsComponentModel?.toWidgetClassDebugData(), 'drawerComponentModel (drawerComponent)': drawerComponentModel?.toWidgetClassDebugData(), ...widgetBuilderComponents.map( (key, value) => MapEntry( key, value.toWidgetClassDebugData(), ), ), }.withoutNulls.entries, link: 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd/tab=uiBuilder&page=MijnAanmeldingen', searchReference: 'reference=OhBNaWpuQWFubWVsZGluZ2VuUAFaEE1pam5BYW5tZWxkaW5nZW4=', widgetClassName: 'MijnAanmeldingen', ); }