kanweg_widget.dart 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. import '/flutter_flow/flutter_flow_theme.dart';
  2. import '/flutter_flow/flutter_flow_util.dart';
  3. import '/flutter_flow/flutter_flow_widgets.dart';
  4. import 'dart:ui';
  5. import '/custom_code/actions/index.dart' as actions;
  6. import 'package:flutter/material.dart';
  7. import 'package:flutter/scheduler.dart';
  8. import 'package:flutter_spinkit/flutter_spinkit.dart';
  9. import 'package:google_fonts/google_fonts.dart';
  10. import 'package:provider/provider.dart';
  11. import 'kanweg_model.dart';
  12. export 'kanweg_model.dart';
  13. class KanwegWidget extends StatefulWidget {
  14. const KanwegWidget({super.key});
  15. static String routeName = 'kanweg';
  16. static String routePath = '/kanweg';
  17. @override
  18. State<KanwegWidget> createState() => _KanwegWidgetState();
  19. }
  20. class _KanwegWidgetState extends State<KanwegWidget> with RouteAware {
  21. late KanwegModel _model;
  22. final scaffoldKey = GlobalKey<ScaffoldState>();
  23. @override
  24. void initState() {
  25. super.initState();
  26. _model = createModel(context, () => KanwegModel());
  27. // On page load action.
  28. SchedulerBinding.instance.addPostFrameCallback((_) async {
  29. _model.resultDrupalRequest = await actions.drupalRequest(
  30. 'GET',
  31. 'https://uitgaanskrant.com/nl/flutterdrup/views/flutterfavorietenagenda.json?display_id=services_1',
  32. 'SSESSfb38a72b665678c06dea69b92d0e88c6',
  33. 'nagC2i49GY6Wd4ENeD4-vKaQhryKcnKGL55orWbI7Dw',
  34. 'e21ntWRxYs1Q6sUHlA0xlX0nzLMf43UnsFHByfQaRaw',
  35. '',
  36. );
  37. });
  38. }
  39. @override
  40. void dispose() {
  41. routeObserver.unsubscribe(this);
  42. _model.dispose();
  43. super.dispose();
  44. }
  45. @override
  46. void didUpdateWidget(KanwegWidget oldWidget) {
  47. super.didUpdateWidget(oldWidget);
  48. _model.widget = widget;
  49. }
  50. @override
  51. void didChangeDependencies() {
  52. super.didChangeDependencies();
  53. final route = DebugModalRoute.of(context);
  54. if (route != null) {
  55. routeObserver.subscribe(this, route);
  56. }
  57. debugLogGlobalProperty(context);
  58. }
  59. @override
  60. void didPopNext() {
  61. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  62. setState(() => _model.isRouteVisible = true);
  63. debugLogWidgetClass(_model);
  64. }
  65. }
  66. @override
  67. void didPush() {
  68. if (mounted && DebugFlutterFlowModelContext.maybeOf(context) == null) {
  69. setState(() => _model.isRouteVisible = true);
  70. debugLogWidgetClass(_model);
  71. }
  72. }
  73. @override
  74. void didPop() {
  75. _model.isRouteVisible = false;
  76. }
  77. @override
  78. void didPushNext() {
  79. _model.isRouteVisible = false;
  80. }
  81. @override
  82. Widget build(BuildContext context) {
  83. DebugFlutterFlowModelContext.maybeOf(context)
  84. ?.parentModelCallback
  85. ?.call(_model);
  86. return GestureDetector(
  87. onTap: () {
  88. FocusScope.of(context).unfocus();
  89. FocusManager.instance.primaryFocus?.unfocus();
  90. },
  91. child: Scaffold(
  92. key: scaffoldKey,
  93. backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
  94. body: SafeArea(
  95. top: true,
  96. child: Builder(
  97. builder: (context) {
  98. final item = getJsonField(
  99. _model.resultDrupalRequest,
  100. r'''$''',
  101. ).toList();
  102. _model.debugGeneratorVariables[
  103. 'item${item.length > 100 ? ' (first 100)' : ''}'] =
  104. debugSerializeParam(
  105. item.take(100),
  106. ParamType.JSON,
  107. isList: true,
  108. link:
  109. 'https://app.flutterflow.io/project/uitgaanskrant-1qhvtd?tab=uiBuilder&page=kanweg',
  110. name: 'dynamic',
  111. nullable: false,
  112. );
  113. debugLogWidgetClass(_model);
  114. return Column(
  115. mainAxisSize: MainAxisSize.max,
  116. children: List.generate(item.length, (itemIndex) {
  117. final itemItem = item[itemIndex];
  118. return Text(
  119. getJsonField(
  120. itemItem,
  121. r'''$.datum''',
  122. ).toString(),
  123. style: FlutterFlowTheme.of(context).bodyMedium.override(
  124. font: GoogleFonts.inter(
  125. fontWeight: FlutterFlowTheme.of(context)
  126. .bodyMedium
  127. .fontWeight,
  128. fontStyle: FlutterFlowTheme.of(context)
  129. .bodyMedium
  130. .fontStyle,
  131. ),
  132. letterSpacing: 0.0,
  133. fontWeight: FlutterFlowTheme.of(context)
  134. .bodyMedium
  135. .fontWeight,
  136. fontStyle:
  137. FlutterFlowTheme.of(context).bodyMedium.fontStyle,
  138. ),
  139. );
  140. }),
  141. );
  142. },
  143. ),
  144. ),
  145. ),
  146. );
  147. }
  148. }