|
|
@@ -1,1626 +0,0 @@
|
|
|
-import '/backend/api_requests/api_calls.dart';
|
|
|
-import '/backend/api_requests/api_streaming.dart';
|
|
|
-import '/components/header_buttons_component_widget.dart';
|
|
|
-import '/flutter_flow/flutter_flow_drop_down.dart';
|
|
|
-import '/flutter_flow/flutter_flow_theme.dart';
|
|
|
-import '/flutter_flow/flutter_flow_util.dart';
|
|
|
-import '/flutter_flow/flutter_flow_widgets.dart';
|
|
|
-import '/flutter_flow/form_field_controller.dart';
|
|
|
-import '/horecagelegenhedenoverzicht/horecagelegenheidoverzicht_kaart/horecagelegenheidoverzicht_kaart_widget.dart';
|
|
|
-import '/shared/drawer_component/drawer_component_widget.dart';
|
|
|
-import 'dart:convert';
|
|
|
-import 'dart:ui';
|
|
|
-import '/backend/schema/structs/index.dart';
|
|
|
-import '/index.dart';
|
|
|
-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:provider/provider.dart';
|
|
|
-import 'horecagelegenheden_overzicht_sort_page_model.dart';
|
|
|
-export 'horecagelegenheden_overzicht_sort_page_model.dart';
|
|
|
-
|
|
|
-class HorecagelegenhedenOverzichtSortPageWidget extends StatefulWidget {
|
|
|
- const HorecagelegenhedenOverzichtSortPageWidget({
|
|
|
- super.key,
|
|
|
- required this.plaats,
|
|
|
- });
|
|
|
-
|
|
|
- final String? plaats;
|
|
|
-
|
|
|
- static String routeName = 'HorecagelegenhedenOverzichtSortPage';
|
|
|
- static String routePath = '/horecagelegenhedenOverzichtSortPage';
|
|
|
-
|
|
|
- @override
|
|
|
- State<HorecagelegenhedenOverzichtSortPageWidget> createState() =>
|
|
|
- _HorecagelegenhedenOverzichtSortPageWidgetState();
|
|
|
-}
|
|
|
-
|
|
|
-class _HorecagelegenhedenOverzichtSortPageWidgetState
|
|
|
- extends State<HorecagelegenhedenOverzichtSortPageWidget>
|
|
|
- with TickerProviderStateMixin, RouteAware {
|
|
|
- late HorecagelegenhedenOverzichtSortPageModel _model;
|
|
|
-
|
|
|
- final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
|
-
|
|
|
- @override
|
|
|
- void initState() {
|
|
|
- super.initState();
|
|
|
- _model =
|
|
|
- createModel(context, () => HorecagelegenhedenOverzichtSortPageModel());
|
|
|
-
|
|
|
- _model.tabBarController = TabController(
|
|
|
- vsync: this,
|
|
|
- length: 6,
|
|
|
- initialIndex: 0,
|
|
|
- )
|
|
|
- ..addListener(() => safeSetState(() {}))
|
|
|
- ..addListener(() {
|
|
|
- debugLogWidgetClass(_model);
|
|
|
- })
|
|
|
- ..addListener(() async {
|
|
|
- if (_model.tabBarController!.indexIsChanging) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- FFAppState().currentHorcat = () {
|
|
|
- if (_model.tabBarCurrentIndex == 0) {
|
|
|
- return '17967';
|
|
|
- } else if (_model.tabBarCurrentIndex == 1) {
|
|
|
- return '17963';
|
|
|
- } else if (_model.tabBarCurrentIndex == 2) {
|
|
|
- return '34';
|
|
|
- } else if (_model.tabBarCurrentIndex == 3) {
|
|
|
- return '17965';
|
|
|
- } else if (_model.tabBarCurrentIndex == 4) {
|
|
|
- return '17969';
|
|
|
- } else if (_model.tabBarCurrentIndex == 5) {
|
|
|
- return '17968';
|
|
|
- } else {
|
|
|
- return '17967';
|
|
|
- }
|
|
|
- }();
|
|
|
- FFAppState().currentSelectedCategorie = '';
|
|
|
- FFAppState().isLoading = true;
|
|
|
- safeSetState(() {});
|
|
|
- _model.apiResultz6n = await HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: FFAppState().currentHorcat,
|
|
|
- townid: widget!.plaats,
|
|
|
- displayId: '1',
|
|
|
- );
|
|
|
-
|
|
|
- if ((_model.apiResultz6n?.succeeded ?? true)) {
|
|
|
- ScaffoldMessenger.of(context).showSnackBar(
|
|
|
- SnackBar(
|
|
|
- content: Text(
|
|
|
- '',
|
|
|
- style: TextStyle(
|
|
|
- color: FlutterFlowTheme.of(context).primaryText,
|
|
|
- ),
|
|
|
- ),
|
|
|
- duration: Duration(milliseconds: 4000),
|
|
|
- backgroundColor: FlutterFlowTheme.of(context).secondary,
|
|
|
- ),
|
|
|
- );
|
|
|
- } else {
|
|
|
- ScaffoldMessenger.of(context).showSnackBar(
|
|
|
- SnackBar(
|
|
|
- content: Text(
|
|
|
- '',
|
|
|
- style: TextStyle(
|
|
|
- color: FlutterFlowTheme.of(context).primaryText,
|
|
|
- ),
|
|
|
- ),
|
|
|
- duration: Duration(milliseconds: 4000),
|
|
|
- backgroundColor: FlutterFlowTheme.of(context).secondary,
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
-
|
|
|
- safeSetState(() {});
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void dispose() {
|
|
|
- routeObserver.unsubscribe(this);
|
|
|
-
|
|
|
- _model.dispose();
|
|
|
-
|
|
|
- super.dispose();
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void didUpdateWidget(HorecagelegenhedenOverzichtSortPageWidget oldWidget) {
|
|
|
- super.didUpdateWidget(oldWidget);
|
|
|
- _model.widget = widget;
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void didChangeDependencies() {
|
|
|
- super.didChangeDependencies();
|
|
|
- final route = DebugModalRoute.of(context);
|
|
|
- if (route != null) {
|
|
|
- routeObserver.subscribe(this, route);
|
|
|
- }
|
|
|
- debugLogGlobalProperty(context);
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void didPopNext() {
|
|
|
- if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
|
|
|
- setState(() => _model.isRouteVisible = true);
|
|
|
- debugLogWidgetClass(_model);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void didPush() {
|
|
|
- if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
|
|
|
- setState(() => _model.isRouteVisible = true);
|
|
|
- debugLogWidgetClass(_model);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void didPop() {
|
|
|
- _model.isRouteVisible = false;
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- void didPushNext() {
|
|
|
- _model.isRouteVisible = false;
|
|
|
- }
|
|
|
-
|
|
|
- @override
|
|
|
- Widget build(BuildContext context) {
|
|
|
- DebugFlutterFlowModelContext.maybeOf(context)
|
|
|
- ?.parentModelCallback
|
|
|
- ?.call(_model);
|
|
|
- context.watch<FFAppState>();
|
|
|
- _model.horecagelegenheidoverzichtKaartModels1.clear();
|
|
|
- _model.horecagelegenheidoverzichtKaartModels2.clear();
|
|
|
- _model.horecagelegenheidoverzichtKaartModels3.clear();
|
|
|
- _model.horecagelegenheidoverzichtKaartModels4.clear();
|
|
|
- _model.horecagelegenheidoverzichtKaartModels5.clear();
|
|
|
- _model.horecagelegenheidoverzichtKaartModels6.clear();
|
|
|
-
|
|
|
- return FutureBuilder<ApiCallResponse>(
|
|
|
- future: HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '17969',
|
|
|
- townid: widget!.plaats,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Scaffold(
|
|
|
- backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
|
- body: Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final horecagelegenhedenOverzichtSortPageHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_Scaffold_9gcoxhin'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenhedenOverzichtSortPageHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_Scaffold_9gcoxhin'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenhedenOverzichtSortPageHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return GestureDetector(
|
|
|
- onTap: () {
|
|
|
- FocusScope.of(context).unfocus();
|
|
|
- FocusManager.instance.primaryFocus?.unfocus();
|
|
|
- },
|
|
|
- child: Scaffold(
|
|
|
- key: scaffoldKey,
|
|
|
- backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
|
- drawer: Drawer(
|
|
|
- elevation: 16.0,
|
|
|
- child: wrapWithModel(
|
|
|
- model: _model.drawerComponentModel,
|
|
|
- updateCallback: () => safeSetState(() {}),
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel: _model.rootModel,
|
|
|
- child: DrawerComponentWidget(),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- ),
|
|
|
- appBar: PreferredSize(
|
|
|
- preferredSize: Size.fromHeight(80.0),
|
|
|
- child: AppBar(
|
|
|
- backgroundColor: FlutterFlowTheme.of(context).info,
|
|
|
- iconTheme: IconThemeData(color: Color(0xFFB12727)),
|
|
|
- automaticallyImplyLeading: false,
|
|
|
- actions: [],
|
|
|
- flexibleSpace: FlexibleSpaceBar(
|
|
|
- background: wrapWithModel(
|
|
|
- model: _model.headerButtonsComponentModel,
|
|
|
- updateCallback: () => safeSetState(() {}),
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel: _model.rootModel,
|
|
|
- child: HeaderButtonsComponentWidget(),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- centerTitle: true,
|
|
|
- expandedTitleScale: 1.0,
|
|
|
- ),
|
|
|
- bottom: PreferredSize(
|
|
|
- preferredSize: Size.fromHeight(70.0),
|
|
|
- child: Container(),
|
|
|
- ),
|
|
|
- toolbarHeight: MediaQuery.sizeOf(context).height * 0.25,
|
|
|
- elevation: 2.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- body: SafeArea(
|
|
|
- top: true,
|
|
|
- child: Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- Expanded(
|
|
|
- child: Column(
|
|
|
- children: [
|
|
|
- Align(
|
|
|
- alignment: Alignment(-1.0, 0),
|
|
|
- child: TabBar(
|
|
|
- isScrollable: true,
|
|
|
- tabAlignment: TabAlignment.start,
|
|
|
- labelColor:
|
|
|
- FlutterFlowTheme.of(context).primaryText,
|
|
|
- unselectedLabelColor:
|
|
|
- FlutterFlowTheme.of(context).secondaryText,
|
|
|
- labelStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .override(
|
|
|
- font: GoogleFonts.interTight(
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- letterSpacing: 0.0,
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- unselectedLabelStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .override(
|
|
|
- font: GoogleFonts.interTight(
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- letterSpacing: 0.0,
|
|
|
- fontWeight: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle: FlutterFlowTheme.of(context)
|
|
|
- .titleMedium
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- indicatorColor:
|
|
|
- FlutterFlowTheme.of(context).primary,
|
|
|
- tabs: [
|
|
|
- Tab(
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- 't070hi8b' /* Uitgaan */,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Tab(
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- 'goypqo1h' /* Cultuur */,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Tab(
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- 'eorww74c' /* Eetgelegenheden */,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Tab(
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- 'vikrjk5s' /* Overnachten */,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Tab(
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- '48955ibf' /* Activiteiten */,
|
|
|
- ),
|
|
|
- ),
|
|
|
- Tab(
|
|
|
- text: FFLocalizations.of(context).getText(
|
|
|
- 'onrokcg9' /* Verhuur, catering */,
|
|
|
- ),
|
|
|
- ),
|
|
|
- ],
|
|
|
- controller: _model.tabBarController,
|
|
|
- onTap: (i) async {
|
|
|
- [
|
|
|
- () async {},
|
|
|
- () async {},
|
|
|
- () async {},
|
|
|
- () async {},
|
|
|
- () async {},
|
|
|
- () async {}
|
|
|
- ][i]();
|
|
|
- },
|
|
|
- ),
|
|
|
- ),
|
|
|
- Expanded(
|
|
|
- child: TabBarView(
|
|
|
- controller: _model.tabBarController,
|
|
|
- children: [
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- FlutterFlowDropDown<String>(
|
|
|
- controller: _model
|
|
|
- .dropDownValueController ??=
|
|
|
- FormFieldController<String>(null),
|
|
|
- options: [
|
|
|
- FFLocalizations.of(context).getText(
|
|
|
- 'ghh8wctj' /* Option 1 */,
|
|
|
- ),
|
|
|
- FFLocalizations.of(context).getText(
|
|
|
- '4wn3tgt9' /* Option 2 */,
|
|
|
- ),
|
|
|
- FFLocalizations.of(context).getText(
|
|
|
- 'df6v152s' /* Option 3 */,
|
|
|
- )
|
|
|
- ],
|
|
|
- onChanged: (val) => safeSetState(
|
|
|
- () => _model.dropDownValue = val),
|
|
|
- width: 200.0,
|
|
|
- height: 40.0,
|
|
|
- textStyle: FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .override(
|
|
|
- font: GoogleFonts.inter(
|
|
|
- fontWeight:
|
|
|
- FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle:
|
|
|
- FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- letterSpacing: 0.0,
|
|
|
- fontWeight:
|
|
|
- FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .fontWeight,
|
|
|
- fontStyle:
|
|
|
- FlutterFlowTheme.of(context)
|
|
|
- .bodyMedium
|
|
|
- .fontStyle,
|
|
|
- ),
|
|
|
- hintText:
|
|
|
- FFLocalizations.of(context).getText(
|
|
|
- '8hepgmal' /* Select... */,
|
|
|
- ),
|
|
|
- icon: Icon(
|
|
|
- Icons.keyboard_arrow_down_rounded,
|
|
|
- color: FlutterFlowTheme.of(context)
|
|
|
- .secondaryText,
|
|
|
- size: 24.0,
|
|
|
- ),
|
|
|
- fillColor: FlutterFlowTheme.of(context)
|
|
|
- .secondaryBackground,
|
|
|
- elevation: 2.0,
|
|
|
- borderColor: Colors.transparent,
|
|
|
- borderWidth: 0.0,
|
|
|
- borderRadius: 8.0,
|
|
|
- margin: EdgeInsetsDirectional.fromSTEB(
|
|
|
- 12.0, 0.0, 12.0, 0.0),
|
|
|
- hidesUnderline: true,
|
|
|
- isOverButton: false,
|
|
|
- isSearchable: false,
|
|
|
- isMultiSelect: false,
|
|
|
- ),
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future:
|
|
|
- HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '17967',
|
|
|
- townid: widget!.plaats,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final staggeredViewHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_StaggeredView_w9n4v2yg'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_StaggeredView_w9n4v2yg'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecagelegenheden =
|
|
|
- getJsonField(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .jsonBody,
|
|
|
- r'''$''',
|
|
|
- ).toList().take(25).toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenheden.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return MasonryGridView.builder(
|
|
|
- physics:
|
|
|
- const NeverScrollableScrollPhysics(),
|
|
|
- gridDelegate:
|
|
|
- SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
- crossAxisCount: () {
|
|
|
- if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointSmall) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery
|
|
|
- .sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointMedium) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery
|
|
|
- .sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointLarge) {
|
|
|
- return 2;
|
|
|
- } else {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- }(),
|
|
|
- ),
|
|
|
- crossAxisSpacing: 12.0,
|
|
|
- mainAxisSpacing: 12.0,
|
|
|
- itemCount:
|
|
|
- horecagelegenheden.length,
|
|
|
- shrinkWrap: true,
|
|
|
- itemBuilder: (context,
|
|
|
- horecagelegenhedenIndex) {
|
|
|
- final horecagelegenhedenItem =
|
|
|
- horecagelegenheden[
|
|
|
- horecagelegenhedenIndex];
|
|
|
- return Container(
|
|
|
- width: 600.0,
|
|
|
- height: 225.0,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: FlutterFlowTheme
|
|
|
- .of(context)
|
|
|
- .secondaryBackground,
|
|
|
- ),
|
|
|
- child: InkWell(
|
|
|
- splashColor:
|
|
|
- Colors.transparent,
|
|
|
- focusColor:
|
|
|
- Colors.transparent,
|
|
|
- hoverColor:
|
|
|
- Colors.transparent,
|
|
|
- highlightColor:
|
|
|
- Colors.transparent,
|
|
|
- onTap: () async {
|
|
|
- context.pushNamed(
|
|
|
- HorecagelegenheidCurrentWidget
|
|
|
- .routeName,
|
|
|
- queryParameters: {
|
|
|
- 'nid':
|
|
|
- serializeParam(
|
|
|
- getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- child:
|
|
|
- Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel:
|
|
|
- _model.rootModel,
|
|
|
- parentModelCallback:
|
|
|
- (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels1[
|
|
|
- 'Keytsq_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
|
|
|
- },
|
|
|
- child:
|
|
|
- HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Keytsq_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
|
|
|
- titel: HorecagelegenheidStruct
|
|
|
- .maybeFromMap(
|
|
|
- horecagelegenhedenItem)
|
|
|
- ?.titel,
|
|
|
- logo: HorecagelegenheidStruct
|
|
|
- .maybeFromMap(
|
|
|
- horecagelegenhedenItem)
|
|
|
- ?.logo,
|
|
|
- nid: HorecagelegenheidStruct
|
|
|
- .maybeFromMap(
|
|
|
- horecagelegenhedenItem)
|
|
|
- ?.nid,
|
|
|
- adres: HorecagelegenheidStruct
|
|
|
- .maybeFromMap(
|
|
|
- horecagelegenhedenItem)
|
|
|
- ?.adres,
|
|
|
- plaats: HorecagelegenheidStruct
|
|
|
- .maybeFromMap(
|
|
|
- horecagelegenhedenItem)
|
|
|
- ?.plaats,
|
|
|
- categorie: HorecagelegenheidStruct
|
|
|
- .maybeFromMap(
|
|
|
- horecagelegenhedenItem)
|
|
|
- ?.categorie,
|
|
|
- ),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '17963',
|
|
|
- townid: widget!.plaats,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final staggeredViewHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_StaggeredView_gdzjudxh'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_StaggeredView_gdzjudxh'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecagelegenheden =
|
|
|
- getJsonField(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .jsonBody,
|
|
|
- r'''$''',
|
|
|
- ).toList().take(25).toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenheden.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return MasonryGridView.builder(
|
|
|
- physics:
|
|
|
- const NeverScrollableScrollPhysics(),
|
|
|
- gridDelegate:
|
|
|
- SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
- crossAxisCount: () {
|
|
|
- if (MediaQuery.sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointSmall) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointMedium) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointLarge) {
|
|
|
- return 2;
|
|
|
- } else {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- }(),
|
|
|
- ),
|
|
|
- crossAxisSpacing: 12.0,
|
|
|
- mainAxisSpacing: 12.0,
|
|
|
- itemCount:
|
|
|
- horecagelegenheden.length,
|
|
|
- shrinkWrap: true,
|
|
|
- itemBuilder: (context,
|
|
|
- horecagelegenhedenIndex) {
|
|
|
- final horecagelegenhedenItem =
|
|
|
- horecagelegenheden[
|
|
|
- horecagelegenhedenIndex];
|
|
|
- return Container(
|
|
|
- width: 600.0,
|
|
|
- height: 225.0,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: FlutterFlowTheme.of(
|
|
|
- context)
|
|
|
- .secondaryBackground,
|
|
|
- ),
|
|
|
- child: InkWell(
|
|
|
- splashColor:
|
|
|
- Colors.transparent,
|
|
|
- focusColor:
|
|
|
- Colors.transparent,
|
|
|
- hoverColor:
|
|
|
- Colors.transparent,
|
|
|
- highlightColor:
|
|
|
- Colors.transparent,
|
|
|
- onTap: () async {
|
|
|
- context.pushNamed(
|
|
|
- HorecagelegenheidCurrentWidget
|
|
|
- .routeName,
|
|
|
- queryParameters: {
|
|
|
- 'nid': serializeParam(
|
|
|
- getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel:
|
|
|
- _model.rootModel,
|
|
|
- parentModelCallback: (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels2[
|
|
|
- 'Key2pe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
|
|
|
- },
|
|
|
- child:
|
|
|
- HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Key2pe_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
|
|
|
- titel: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString(),
|
|
|
- logo: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.logo''',
|
|
|
- ).toString(),
|
|
|
- nid: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- adres: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.adres''',
|
|
|
- ).toString(),
|
|
|
- plaats: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.plaats''',
|
|
|
- ).toString(),
|
|
|
- categorie:
|
|
|
- (getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.categorie''',
|
|
|
- true,
|
|
|
- ) as List?)
|
|
|
- ?.map<String>(
|
|
|
- (e) => e
|
|
|
- .toString())
|
|
|
- .toList()
|
|
|
- .cast<String>(),
|
|
|
- ),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '34',
|
|
|
- townid: widget!.plaats,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final staggeredViewHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_StaggeredView_ugisugbz'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_StaggeredView_ugisugbz'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecagelegenheden =
|
|
|
- getJsonField(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .jsonBody,
|
|
|
- r'''$''',
|
|
|
- ).toList().take(25).toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenheden.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return MasonryGridView.builder(
|
|
|
- physics:
|
|
|
- const NeverScrollableScrollPhysics(),
|
|
|
- gridDelegate:
|
|
|
- SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
- crossAxisCount: () {
|
|
|
- if (MediaQuery.sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointSmall) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointMedium) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointLarge) {
|
|
|
- return 2;
|
|
|
- } else {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- }(),
|
|
|
- ),
|
|
|
- crossAxisSpacing: 12.0,
|
|
|
- mainAxisSpacing: 12.0,
|
|
|
- itemCount:
|
|
|
- horecagelegenheden.length,
|
|
|
- shrinkWrap: true,
|
|
|
- itemBuilder: (context,
|
|
|
- horecagelegenhedenIndex) {
|
|
|
- final horecagelegenhedenItem =
|
|
|
- horecagelegenheden[
|
|
|
- horecagelegenhedenIndex];
|
|
|
- return Container(
|
|
|
- width: 600.0,
|
|
|
- height: 225.0,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: FlutterFlowTheme.of(
|
|
|
- context)
|
|
|
- .secondaryBackground,
|
|
|
- ),
|
|
|
- child: InkWell(
|
|
|
- splashColor:
|
|
|
- Colors.transparent,
|
|
|
- focusColor:
|
|
|
- Colors.transparent,
|
|
|
- hoverColor:
|
|
|
- Colors.transparent,
|
|
|
- highlightColor:
|
|
|
- Colors.transparent,
|
|
|
- onTap: () async {
|
|
|
- context.pushNamed(
|
|
|
- HorecagelegenheidCurrentWidget
|
|
|
- .routeName,
|
|
|
- queryParameters: {
|
|
|
- 'nid': serializeParam(
|
|
|
- getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel:
|
|
|
- _model.rootModel,
|
|
|
- parentModelCallback: (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels3[
|
|
|
- 'Keywf7_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
|
|
|
- },
|
|
|
- child:
|
|
|
- HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Keywf7_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
|
|
|
- titel: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString(),
|
|
|
- logo: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.logo''',
|
|
|
- ).toString(),
|
|
|
- nid: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- adres: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.adres''',
|
|
|
- ).toString(),
|
|
|
- plaats: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.plaats''',
|
|
|
- ).toString(),
|
|
|
- categorie:
|
|
|
- (getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.categorie''',
|
|
|
- true,
|
|
|
- ) as List?)
|
|
|
- ?.map<String>(
|
|
|
- (e) => e
|
|
|
- .toString())
|
|
|
- .toList()
|
|
|
- .cast<String>(),
|
|
|
- ),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '17965',
|
|
|
- townid: widget!.plaats,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final staggeredViewHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_StaggeredView_p1t2kthx'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_StaggeredView_p1t2kthx'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecagelegenheden =
|
|
|
- getJsonField(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .jsonBody,
|
|
|
- r'''$''',
|
|
|
- ).toList().take(25).toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenheden.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return MasonryGridView.builder(
|
|
|
- physics:
|
|
|
- const NeverScrollableScrollPhysics(),
|
|
|
- gridDelegate:
|
|
|
- SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
- crossAxisCount: () {
|
|
|
- if (MediaQuery.sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointSmall) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointMedium) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointLarge) {
|
|
|
- return 2;
|
|
|
- } else {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- }(),
|
|
|
- ),
|
|
|
- crossAxisSpacing: 12.0,
|
|
|
- mainAxisSpacing: 12.0,
|
|
|
- itemCount:
|
|
|
- horecagelegenheden.length,
|
|
|
- shrinkWrap: true,
|
|
|
- itemBuilder: (context,
|
|
|
- horecagelegenhedenIndex) {
|
|
|
- final horecagelegenhedenItem =
|
|
|
- horecagelegenheden[
|
|
|
- horecagelegenhedenIndex];
|
|
|
- return Container(
|
|
|
- width: 600.0,
|
|
|
- height: 225.0,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: FlutterFlowTheme.of(
|
|
|
- context)
|
|
|
- .secondaryBackground,
|
|
|
- ),
|
|
|
- child: InkWell(
|
|
|
- splashColor:
|
|
|
- Colors.transparent,
|
|
|
- focusColor:
|
|
|
- Colors.transparent,
|
|
|
- hoverColor:
|
|
|
- Colors.transparent,
|
|
|
- highlightColor:
|
|
|
- Colors.transparent,
|
|
|
- onTap: () async {
|
|
|
- context.pushNamed(
|
|
|
- HorecagelegenheidCurrentWidget
|
|
|
- .routeName,
|
|
|
- queryParameters: {
|
|
|
- 'nid': serializeParam(
|
|
|
- getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel:
|
|
|
- _model.rootModel,
|
|
|
- parentModelCallback: (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels4[
|
|
|
- 'Keyr0j_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
|
|
|
- },
|
|
|
- child:
|
|
|
- HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Keyr0j_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
|
|
|
- titel: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString(),
|
|
|
- logo: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.logo''',
|
|
|
- ).toString(),
|
|
|
- nid: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- adres: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.adres''',
|
|
|
- ).toString(),
|
|
|
- plaats: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.plaats''',
|
|
|
- ).toString(),
|
|
|
- categorie:
|
|
|
- (getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.categorie''',
|
|
|
- true,
|
|
|
- ) as List?)
|
|
|
- ?.map<String>(
|
|
|
- (e) => e
|
|
|
- .toString())
|
|
|
- .toList()
|
|
|
- .cast<String>(),
|
|
|
- ),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '17969',
|
|
|
- townid: FFAppState().provincieSelectId,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final staggeredViewHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_StaggeredView_8u23jpf8'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_StaggeredView_8u23jpf8'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecagelegenheden =
|
|
|
- getJsonField(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .jsonBody,
|
|
|
- r'''$''',
|
|
|
- ).toList().take(25).toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenheden.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return MasonryGridView.builder(
|
|
|
- physics:
|
|
|
- const NeverScrollableScrollPhysics(),
|
|
|
- gridDelegate:
|
|
|
- SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
- crossAxisCount: () {
|
|
|
- if (MediaQuery.sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointSmall) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointMedium) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointLarge) {
|
|
|
- return 2;
|
|
|
- } else {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- }(),
|
|
|
- ),
|
|
|
- crossAxisSpacing: 12.0,
|
|
|
- mainAxisSpacing: 12.0,
|
|
|
- itemCount:
|
|
|
- horecagelegenheden.length,
|
|
|
- shrinkWrap: true,
|
|
|
- itemBuilder: (context,
|
|
|
- horecagelegenhedenIndex) {
|
|
|
- final horecagelegenhedenItem =
|
|
|
- horecagelegenheden[
|
|
|
- horecagelegenhedenIndex];
|
|
|
- return Container(
|
|
|
- width: 600.0,
|
|
|
- height: 225.0,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: FlutterFlowTheme.of(
|
|
|
- context)
|
|
|
- .secondaryBackground,
|
|
|
- ),
|
|
|
- child: InkWell(
|
|
|
- splashColor:
|
|
|
- Colors.transparent,
|
|
|
- focusColor:
|
|
|
- Colors.transparent,
|
|
|
- hoverColor:
|
|
|
- Colors.transparent,
|
|
|
- highlightColor:
|
|
|
- Colors.transparent,
|
|
|
- onTap: () async {
|
|
|
- context.pushNamed(
|
|
|
- HorecagelegenheidCurrentWidget
|
|
|
- .routeName,
|
|
|
- queryParameters: {
|
|
|
- 'nid': serializeParam(
|
|
|
- getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel:
|
|
|
- _model.rootModel,
|
|
|
- parentModelCallback: (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels5[
|
|
|
- 'Keyd3h_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
|
|
|
- },
|
|
|
- child:
|
|
|
- HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Keyd3h_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
|
|
|
- titel: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString(),
|
|
|
- logo: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.logo''',
|
|
|
- ).toString(),
|
|
|
- nid: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- adres: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.adres''',
|
|
|
- ).toString(),
|
|
|
- plaats: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.plaats''',
|
|
|
- ).toString(),
|
|
|
- categorie:
|
|
|
- (getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.categorie''',
|
|
|
- true,
|
|
|
- ) as List?)
|
|
|
- ?.map<String>(
|
|
|
- (e) => e
|
|
|
- .toString())
|
|
|
- .toList()
|
|
|
- .cast<String>(),
|
|
|
- ),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- Column(
|
|
|
- mainAxisSize: MainAxisSize.max,
|
|
|
- children: [
|
|
|
- FutureBuilder<ApiCallResponse>(
|
|
|
- future: HorecagelegenheidoverzichtCall.call(
|
|
|
- horcat: '17968',
|
|
|
- townid: widget!.plaats,
|
|
|
- ),
|
|
|
- builder: (context, snapshot) {
|
|
|
- // Customize what your widget looks like when it's loading.
|
|
|
- if (!snapshot.hasData) {
|
|
|
- return Center(
|
|
|
- child: SizedBox(
|
|
|
- width: 80.0,
|
|
|
- height: 80.0,
|
|
|
- child: SpinKitFadingCircle(
|
|
|
- color: Color(0xFFB1061E),
|
|
|
- size: 80.0,
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- final staggeredViewHorecagelegenheidoverzichtResponse =
|
|
|
- snapshot.data!;
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_statusCode_StaggeredView_b9f4g8j8'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .statusCode,
|
|
|
- ParamType.int,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'int',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- _model.debugBackendQueries[
|
|
|
- 'HorecagelegenheidoverzichtCall_responseBody_StaggeredView_b9f4g8j8'] =
|
|
|
- debugSerializeParam(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .bodyText,
|
|
|
- ParamType.String,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'String',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return Builder(
|
|
|
- builder: (context) {
|
|
|
- final horecagelegenheden =
|
|
|
- getJsonField(
|
|
|
- staggeredViewHorecagelegenheidoverzichtResponse
|
|
|
- .jsonBody,
|
|
|
- r'''$''',
|
|
|
- ).toList().take(25).toList();
|
|
|
- _model.debugGeneratorVariables[
|
|
|
- 'horecagelegenheden${horecagelegenheden.length > 100 ? ' (first 100)' : ''}'] =
|
|
|
- debugSerializeParam(
|
|
|
- horecagelegenheden.take(100),
|
|
|
- ParamType.JSON,
|
|
|
- isList: true,
|
|
|
- link:
|
|
|
- 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=HorecagelegenhedenOverzichtSortPage',
|
|
|
- name: 'dynamic',
|
|
|
- nullable: false,
|
|
|
- );
|
|
|
- debugLogWidgetClass(_model);
|
|
|
-
|
|
|
- return MasonryGridView.builder(
|
|
|
- physics:
|
|
|
- const NeverScrollableScrollPhysics(),
|
|
|
- gridDelegate:
|
|
|
- SliverSimpleGridDelegateWithFixedCrossAxisCount(
|
|
|
- crossAxisCount: () {
|
|
|
- if (MediaQuery.sizeOf(context)
|
|
|
- .width <
|
|
|
- kBreakpointSmall) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointMedium) {
|
|
|
- return 1;
|
|
|
- } else if (MediaQuery.sizeOf(
|
|
|
- context)
|
|
|
- .width <
|
|
|
- kBreakpointLarge) {
|
|
|
- return 2;
|
|
|
- } else {
|
|
|
- return 3;
|
|
|
- }
|
|
|
- }(),
|
|
|
- ),
|
|
|
- crossAxisSpacing: 12.0,
|
|
|
- mainAxisSpacing: 12.0,
|
|
|
- itemCount:
|
|
|
- horecagelegenheden.length,
|
|
|
- shrinkWrap: true,
|
|
|
- itemBuilder: (context,
|
|
|
- horecagelegenhedenIndex) {
|
|
|
- final horecagelegenhedenItem =
|
|
|
- horecagelegenheden[
|
|
|
- horecagelegenhedenIndex];
|
|
|
- return Container(
|
|
|
- width: 600.0,
|
|
|
- height: 225.0,
|
|
|
- decoration: BoxDecoration(
|
|
|
- color: FlutterFlowTheme.of(
|
|
|
- context)
|
|
|
- .secondaryBackground,
|
|
|
- ),
|
|
|
- child: InkWell(
|
|
|
- splashColor:
|
|
|
- Colors.transparent,
|
|
|
- focusColor:
|
|
|
- Colors.transparent,
|
|
|
- hoverColor:
|
|
|
- Colors.transparent,
|
|
|
- highlightColor:
|
|
|
- Colors.transparent,
|
|
|
- onTap: () async {
|
|
|
- context.pushNamed(
|
|
|
- HorecagelegenheidCurrentWidget
|
|
|
- .routeName,
|
|
|
- queryParameters: {
|
|
|
- 'nid': serializeParam(
|
|
|
- getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- ParamType.String,
|
|
|
- ),
|
|
|
- }.withoutNulls,
|
|
|
- );
|
|
|
- },
|
|
|
- child: Builder(builder: (_) {
|
|
|
- return DebugFlutterFlowModelContext(
|
|
|
- rootModel:
|
|
|
- _model.rootModel,
|
|
|
- parentModelCallback: (m) {
|
|
|
- _model.horecagelegenheidoverzichtKaartModels6[
|
|
|
- 'Key2tc_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'] = m;
|
|
|
- },
|
|
|
- child:
|
|
|
- HorecagelegenheidoverzichtKaartWidget(
|
|
|
- key: Key(
|
|
|
- 'Key2tc_${horecagelegenhedenIndex}_of_${horecagelegenheden.length}'),
|
|
|
- titel: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.titel''',
|
|
|
- ).toString(),
|
|
|
- logo: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.logo''',
|
|
|
- ).toString(),
|
|
|
- nid: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.nid''',
|
|
|
- ).toString(),
|
|
|
- adres: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.adres''',
|
|
|
- ).toString(),
|
|
|
- plaats: getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.plaats''',
|
|
|
- ).toString(),
|
|
|
- categorie:
|
|
|
- (getJsonField(
|
|
|
- horecagelegenhedenItem,
|
|
|
- r'''$.categorie''',
|
|
|
- true,
|
|
|
- ) as List?)
|
|
|
- ?.map<String>(
|
|
|
- (e) => e
|
|
|
- .toString())
|
|
|
- .toList()
|
|
|
- .cast<String>(),
|
|
|
- ),
|
|
|
- );
|
|
|
- }),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- },
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- ),
|
|
|
- ],
|
|
|
- ),
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- },
|
|
|
- );
|
|
|
- }
|
|
|
-}
|