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:flutter/material.dart';
|
||||||
import 'package:invoiceninja_flutter/ui/app/edit_scaffold.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/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/ui/design/edit/design_edit_vm.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||||
import 'package:invoiceninja_flutter/utils/completers.dart';
|
import 'package:invoiceninja_flutter/utils/completers.dart';
|
||||||
|
import 'package:invoiceninja_flutter/utils/platforms.dart';
|
||||||
|
|
||||||
class DesignEdit extends StatefulWidget {
|
class DesignEdit extends StatefulWidget {
|
||||||
const DesignEdit({
|
const DesignEdit({
|
||||||
|
|
@ -18,15 +20,26 @@ class DesignEdit extends StatefulWidget {
|
||||||
_DesignEditState createState() => _DesignEditState();
|
_DesignEditState createState() => _DesignEditState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _DesignEditState extends State<DesignEdit> {
|
class _DesignEditState extends State<DesignEdit>
|
||||||
|
with SingleTickerProviderStateMixin {
|
||||||
static final GlobalKey<FormState> _formKey =
|
static final GlobalKey<FormState> _formKey =
|
||||||
GlobalKey<FormState>(debugLabel: '_designEdit');
|
GlobalKey<FormState>(debugLabel: '_designEdit');
|
||||||
final _debouncer = Debouncer();
|
final _debouncer = Debouncer();
|
||||||
|
|
||||||
// STARTER: controllers - do not remove comment
|
// STARTER: controllers - do not remove comment
|
||||||
|
|
||||||
|
FocusScopeNode _focusNode;
|
||||||
|
TabController _controller;
|
||||||
|
|
||||||
List<TextEditingController> _controllers = [];
|
List<TextEditingController> _controllers = [];
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_focusNode = FocusScopeNode();
|
||||||
|
_controller = TabController(vsync: this, length: 2);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() {
|
void didChangeDependencies() {
|
||||||
_controllers = [
|
_controllers = [
|
||||||
|
|
@ -45,6 +58,8 @@ class _DesignEditState extends State<DesignEdit> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
|
_focusNode.dispose();
|
||||||
|
_controller.dispose();
|
||||||
_controllers.forEach((controller) {
|
_controllers.forEach((controller) {
|
||||||
controller.removeListener(_onChanged);
|
controller.removeListener(_onChanged);
|
||||||
controller.dispose();
|
controller.dispose();
|
||||||
|
|
@ -73,6 +88,20 @@ class _DesignEditState extends State<DesignEdit> {
|
||||||
return EditScaffold(
|
return EditScaffold(
|
||||||
title: localization.editDesign,
|
title: localization.editDesign,
|
||||||
onCancelPressed: (context) => viewModel.onCancelPressed(context),
|
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) {
|
onSavePressed: (context) {
|
||||||
final bool isValid = _formKey.currentState.validate();
|
final bool isValid = _formKey.currentState.validate();
|
||||||
|
|
||||||
|
|
@ -88,19 +117,16 @@ class _DesignEditState extends State<DesignEdit> {
|
||||||
|
|
||||||
viewModel.onSavePressed(context);
|
viewModel.onSavePressed(context);
|
||||||
},
|
},
|
||||||
body: Form(
|
body: isMobile(context)
|
||||||
key: _formKey,
|
? AppTabForm(
|
||||||
child: Builder(builder: (BuildContext context) {
|
tabController: _controller,
|
||||||
return ListView(
|
formKey: _formKey,
|
||||||
children: <Widget>[
|
focusNode: _focusNode,
|
||||||
FormCard(
|
children: <Widget>[])
|
||||||
children: <Widget>[
|
: AppForm(
|
||||||
// STARTER: widgets - do not remove comment
|
focusNode: _focusNode,
|
||||||
],
|
formKey: _formKey,
|
||||||
),
|
children: <Widget>[Text('test')],
|
||||||
],
|
));
|
||||||
);
|
|
||||||
})),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue