Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:developer';
- import 'package:flutter/material.dart';
- import '../../../api/api.dart';
- import '../../../schema/category.dart';
- import '../../../widget/wElevatedButton.dart';
- import '../../../widget/wGenericField.dart';
- import '../../../widget/wTextField.dart';
- class Filter extends StatefulWidget {
- TextEditingController controllerId;
- TextEditingController controllerName;
- TextEditingController controllerCategory;
- dynamic Function()? controllerButton;
- Filter(
- {Key? key,
- required this.controllerId,
- required this.controllerName,
- required this.controllerCategory,
- required this.controllerButton})
- : super(key: key);
- @override
- State<Filter> createState() => _FilterState();
- }
- class _FilterState extends State<Filter> {
- late List category;
- TextEditingController _controllerId = TextEditingController();
- TextEditingController _controllerName = TextEditingController();
- //TextEditingController _controllerCategory = TextEditingController();
- @override
- Widget build(BuildContext context) {
- widget.controllerCategory.text = '';
- print("dentro build");
- return Padding(
- padding: const EdgeInsets.all(8.0),
- child: Row(
- children: [
- Expanded(
- flex: 2,
- child: WTextField(
- label: 'Id',
- controller: _controllerId,
- )),
- Expanded(
- flex: 8,
- child: WTextField(
- label: 'Nome prodotto',
- controller: _controllerName,
- ),
- ),
- Expanded(
- flex: 2,
- child: wGenericField(
- label: 'Categoria',
- child: FutureBuilder(
- future: Api().category.getCategories(),
- builder: (BuildContext context, AsyncSnapshot snapshot) {
- print("detro builder");
- if (!snapshot.hasData) return CircularProgressIndicator();
- List<DropdownMenuItem<String>> r = [];
- r.add(DropdownMenuItem<String>(
- value: 'N.A.',
- child: Text(''),
- ));
- for (var i = 0; i < snapshot.data.length; i++) {
- print(
- "Analizzo $i/${snapshot.data.length} ${snapshot.data[i].name}");
- r.add(DropdownMenuItem<String>(
- value: snapshot.data[i].name,
- child: Text(snapshot.data[i].name),
- ));
- }
- return DDButton(r);
- },
- ),
- ),
- ),
- Expanded(
- flex: 2,
- child: wElevatedButton(
- onPressed: widget.controllerButton, titolo: "Filtra"),
- ),
- ],
- ));
- }
- setChangeId() {
- widget.controllerId.text = _controllerId.text;
- }
- setChangeName() {
- widget.controllerName.text = _controllerName.text;
- }
- setChangeCategory() {
- print("cambio categoriaa");
- }
- @override
- void initState() {
- super.initState();
- // Start listening to changes.
- _controllerId.addListener(setChangeId);
- _controllerName.addListener(setChangeName);
- }
- Widget DDButton(r) {
- inspect(widget.controllerCategory.text);
- print("dentro ddbutton");
- var valore = 'N.A.';
- return DropdownButton(
- isExpanded: true,
- items: r,
- onChanged: (value) {
- print("Cateogia onChanged");
- inspect(value);
- widget.controllerCategory.text = value as String;
- valore = value;
- setState(() {});
- },
- value: valore,
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement