Designs
This commit is contained in:
parent
71a842eac5
commit
f5a2a912c5
|
|
@ -2,9 +2,11 @@ import 'package:flutter/foundation.dart';
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/edit_scaffold.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/forms/app_form.dart';
|
||||
import 'package:invoiceninja_flutter/ui/design/edit/design_edit_vm.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||
|
||||
class DesignEdit extends StatefulWidget {
|
||||
const DesignEdit({
|
||||
|
|
@ -18,15 +20,26 @@ class DesignEdit extends StatefulWidget {
|
|||
_DesignEditState createState() => _DesignEditState();
|
||||
}
|
||||
|
||||
class _DesignEditState extends State<DesignEdit> {
|
||||
class _DesignEditState extends State<DesignEdit>
|
||||
with SingleTickerProviderStateMixin {
|
||||
static final GlobalKey<FormState> _formKey =
|
||||
GlobalKey<FormState>(debugLabel: '_designEdit');
|
||||
final _debouncer = Debouncer();
|
||||
|
||||
// STARTER: controllers - do not remove comment
|
||||
|
||||
FocusScopeNode _focusNode;
|
||||
TabController _controller;
|
||||
|
||||
List<TextEditingController> _controllers = [];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_focusNode = FocusScopeNode();
|
||||
_controller = TabController(vsync: this, length: 2);
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeDependencies() {
|
||||
_controllers = [
|
||||
|
|
@ -45,6 +58,8 @@ class _DesignEditState extends State<DesignEdit> {
|
|||
|
||||
@override
|
||||
void dispose() {
|
||||
_focusNode.dispose();
|
||||
_controller.dispose();
|
||||
_controllers.forEach((controller) {
|
||||
controller.removeListener(_onChanged);
|
||||
controller.dispose();
|
||||
|
|
@ -71,36 +86,47 @@ class _DesignEditState extends State<DesignEdit> {
|
|||
final design = viewModel.design;
|
||||
|
||||
return EditScaffold(
|
||||
title: localization.editDesign,
|
||||
onCancelPressed: (context) => viewModel.onCancelPressed(context),
|
||||
onSavePressed: (context) {
|
||||
final bool isValid = _formKey.currentState.validate();
|
||||
title: localization.editDesign,
|
||||
onCancelPressed: (context) => viewModel.onCancelPressed(context),
|
||||
appBarBottom: isMobile(context)
|
||||
? TabBar(
|
||||
//key: ValueKey(state.settingsUIState.updatedAt),
|
||||
controller: _controller,
|
||||
tabs: [
|
||||
Tab(
|
||||
text: localization.code,
|
||||
),
|
||||
Tab(
|
||||
text: localization.preview,
|
||||
),
|
||||
],
|
||||
)
|
||||
: null,
|
||||
onSavePressed: (context) {
|
||||
final bool isValid = _formKey.currentState.validate();
|
||||
|
||||
/*
|
||||
/*
|
||||
setState(() {
|
||||
_autoValidate = !isValid;
|
||||
});
|
||||
*/
|
||||
|
||||
if (!isValid) {
|
||||
return;
|
||||
}
|
||||
if (!isValid) {
|
||||
return;
|
||||
}
|
||||
|
||||
viewModel.onSavePressed(context);
|
||||
},
|
||||
body: Form(
|
||||
key: _formKey,
|
||||
child: Builder(builder: (BuildContext context) {
|
||||
return ListView(
|
||||
children: <Widget>[
|
||||
FormCard(
|
||||
children: <Widget>[
|
||||
// STARTER: widgets - do not remove comment
|
||||
],
|
||||
),
|
||||
],
|
||||
);
|
||||
})),
|
||||
);
|
||||
viewModel.onSavePressed(context);
|
||||
},
|
||||
body: isMobile(context)
|
||||
? AppTabForm(
|
||||
tabController: _controller,
|
||||
formKey: _formKey,
|
||||
focusNode: _focusNode,
|
||||
children: <Widget>[])
|
||||
: AppForm(
|
||||
focusNode: _focusNode,
|
||||
formKey: _formKey,
|
||||
children: <Widget>[Text('test')],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue