@@ -3,6 +3,7 @@ import 'dart:ui';
3
3
import 'package:codelessly_api/codelessly_api.dart' ;
4
4
import 'package:flutter/material.dart' ;
5
5
6
+ import '../../functions/functions_repository.dart' ;
6
7
import '../../utils/extensions.dart' ;
7
8
import '../transformers.dart' ;
8
9
@@ -16,15 +17,28 @@ class PassivePageViewTransformer extends NodeWidgetTransformer<PageViewNode> {
16
17
node: node,
17
18
manager: manager,
18
19
settings: settings,
20
+ onPageChanged: (context, index) => onPageChanged (context, index, node),
19
21
);
20
22
}
23
+
24
+ void onPageChanged (BuildContext context, int index, PageViewNode node) {
25
+ FunctionsRepository .setNodeValue (context,
26
+ node: node, property: 'indexValue' , value: index);
27
+
28
+ FunctionsRepository .setPropertyVariable (context,
29
+ node: node, property: 'indexValue' , value: '$index ' );
30
+
31
+ FunctionsRepository .triggerAction (context, TriggerType .changed,
32
+ node: node, value: index);
33
+ }
21
34
}
22
35
23
36
class PassivePageViewWidget extends StatefulWidget {
24
37
final PageViewNode node;
25
38
final NodeTransformerManager manager;
26
39
final WidgetBuildSettings settings;
27
- final ValueChanged <int >? onPageChanged;
40
+
41
+ final Function (BuildContext context, int index)? onPageChanged;
28
42
29
43
const PassivePageViewWidget ({
30
44
super .key,
@@ -90,7 +104,7 @@ class _PassivePageViewWidgetState extends State<PassivePageViewWidget> {
90
104
padEnds: widget.node.properties.padEnds,
91
105
pageSnapping: widget.node.properties.pageSnapping,
92
106
controller: controller,
93
- onPageChanged: widget.onPageChanged,
107
+ onPageChanged: (index) => widget.onPageChanged? . call (context, index) ,
94
108
itemBuilder: (context, index) => IndexedItemProvider (
95
109
key: ValueKey (index),
96
110
index: index,
0 commit comments