@@ -5,41 +5,44 @@ String widgetStateManagedStub(ReCase rc) => '''
55import 'package:flutter/material.dart';
66import 'package:nylo_framework/nylo_framework.dart';
77
8- class ${rc .pascalCase } extends StatefulWidget {
9- const ${rc .pascalCase }({super.key});
10-
8+ class ${rc .pascalCase } extends NyStateManaged {
9+ ${rc .pascalCase }({super.key, super.stateName})
10+ : super(child: () => _${rc .pascalCase }State(stateName));
11+
1112 static String state = "${rc .snakeCase }";
12- static action(String action, {dynamic data}) =>
13- stateAction(action, data: data, state: state);
1413
15- @override
16- createState() => _${rc .pascalCase }State();
14+ static String _stateFor(String? state) =>
15+ state == null ? ${rc .pascalCase }.state : "\$ {${rc .pascalCase }.state}_\$ state";
16+
17+ static action(String action, {dynamic data, String? stateName}) {
18+ return stateAction(action, data: data, state: _stateFor(stateName));
19+ }
1720}
1821
1922class _${rc .pascalCase }State extends NyState<${rc .pascalCase }> {
20- _${rc .pascalCase }State() {
21- stateName = ${rc .pascalCase }.state ;
23+ _${rc .pascalCase }State(String? stateName ) {
24+ this. stateName = ${rc .pascalCase }._stateFor(stateName) ;
2225 }
2326
2427 @override
2528 get init => () {
2629 // initialization logic here
2730 };
28-
29- // @override
30- // Map<String, Function> get stateActions => {
31- // "my_action": (data) {},
32- // "clear_data": () {
33- // // Invoke actions from anywhere in your app
34- // // Follow. action("my_action", data: "hello");
35- // // Follow .action("clear_data");
36- // },
37- // };
31+
32+ @override
33+ Map<String, Function> get stateActions => {
34+ "my_action": (data) {},
35+ "clear_data": () {
36+ // Invoke actions from anywhere in your app
37+ // ${ rc . pascalCase }. action("my_action", data: "hello world ");
38+ // ${ rc . pascalCase } .action("clear_data");
39+ },
40+ };
3841
3942 @override
4043 Widget view(BuildContext context) {
4144 return Container(
42-
45+ child: Text("My Widget").bodyMedium(),
4346 );
4447 }
4548}
0 commit comments