123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import 'package:conalep_pos/models/mesa_model.dart';
- import 'package:conalep_pos/themes/themes.dart';
- import 'package:conalep_pos/viewmodels/mesa_view_model.dart';
- import 'package:conalep_pos/widgets/widgets.dart';
- import 'package:flutter/material.dart';
- import 'package:provider/provider.dart';
- class MesaForm extends StatefulWidget {
- final Mesa mesa;
- const MesaForm({Key? key, required this.mesa}) : super(key: key);
- @override
- _MesaFormState createState() => _MesaFormState();
- }
- class _MesaFormState extends State<MesaForm> {
- final _nombre = TextEditingController();
- final _clave = TextEditingController();
- bool _activa = true;
- @override
- void initState() {
- super.initState();
- _nombre.text = widget.mesa.nombre ?? "";
- _clave.text = widget.mesa.clave ?? "";
- _activa = widget.mesa.activa ?? true;
- }
- @override
- Widget build(BuildContext context) {
- return Scaffold(
- appBar: AppBar(
- title: Text(
- widget.mesa.id == null ? 'Nueva Mesa' : 'Editar Mesa',
- style: TextStyle(color: AppTheme.secondary),
- ),
- iconTheme: IconThemeData(color: AppTheme.secondary),
- ),
- body: SingleChildScrollView(
- padding: EdgeInsets.all(8),
- child: Column(
- children: [
- tarjeta(
- Padding(
- padding: const EdgeInsets.all(8),
- child: Column(
- children: [
- AppTextField(
- maxLength: 100,
- etiqueta: 'Nombre',
- controller: _nombre,
- hintText: 'Nombre de la variable',
- ),
- AppTextField(
- maxLength: 100,
- etiqueta: 'Clave',
- controller: _clave,
- hintText: 'Clave de la variable',
- ),
- SwitchListTile(
- activeColor: AppTheme.primary,
- title: const Text(
- "Activo",
- style: TextStyle(
- fontWeight: FontWeight.bold, fontSize: 18),
- ),
- value: _activa,
- onChanged: (bool value) {
- setState(() {
- _activa = value;
- });
- },
- ),
- ],
- ),
- ),
- ),
- SizedBox(height: 15),
- boton("Guardar", () async {
- Provider.of<MesaViewModel>(context, listen: false)
- .setIsLoading(true);
- widget.mesa.nombre = _nombre.text;
- widget.mesa.clave = _clave.text;
- widget.mesa.activa = _activa;
- await Provider.of<MesaViewModel>(context, listen: false)
- .updateMesa(widget.mesa);
- Provider.of<MesaViewModel>(context, listen: false)
- .setIsLoading(false);
- if (context.mounted) {
- Navigator.pop(context);
- }
- })
- ],
- ),
- ),
- );
- }
- @override
- void dispose() {
- _nombre.dispose();
- _clave.dispose();
- super.dispose();
- }
- }
|