first commit
This commit is contained in:
BIN
lib/bookkeeping/.DS_Store
vendored
Normal file
BIN
lib/bookkeeping/.DS_Store
vendored
Normal file
Binary file not shown.
42
lib/bookkeeping/bk1/bk1_model.dart
Normal file
42
lib/bookkeeping/bk1/bk1_model.dart
Normal file
@@ -0,0 +1,42 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_animations.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk1_widget.dart' show Bk1Widget;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_animate/flutter_animate.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Bk1Model extends FlutterModel<Bk1Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
2746
lib/bookkeeping/bk1/bk1_widget.dart
Normal file
2746
lib/bookkeeping/bk1/bk1_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
42
lib/bookkeeping/bk2/bk2_model.dart
Normal file
42
lib/bookkeeping/bk2/bk2_model.dart
Normal file
@@ -0,0 +1,42 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_animations.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk2_widget.dart' show Bk2Widget;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_animate/flutter_animate.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Bk2Model extends FlutterModel<Bk2Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
2715
lib/bookkeeping/bk2/bk2_widget.dart
Normal file
2715
lib/bookkeeping/bk2/bk2_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
38
lib/bookkeeping/bk3/bk3_model.dart
Normal file
38
lib/bookkeeping/bk3/bk3_model.dart
Normal file
@@ -0,0 +1,38 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk3_widget.dart' show Bk3Widget;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Bk3Model extends FlutterModel<Bk3Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1743
lib/bookkeeping/bk3/bk3_widget.dart
Normal file
1743
lib/bookkeeping/bk3/bk3_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
66
lib/bookkeeping/bk4/bk4_model.dart
Normal file
66
lib/bookkeeping/bk4/bk4_model.dart
Normal file
@@ -0,0 +1,66 @@
|
||||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/alert_box_custom_widget.dart';
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/emptylist_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_button_tabbar.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/custom_functions.dart' as functions;
|
||||
import 'bk4_widget.dart' show Bk4Widget;
|
||||
import 'package:aligned_dialog/aligned_dialog.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Bk4Model extends FlutterModel<Bk4Widget> {
|
||||
/// Local state fields for this page.
|
||||
|
||||
bool checkPermission26 = false;
|
||||
|
||||
bool checkPermission27 = false;
|
||||
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in bk4 widget.
|
||||
ApiCallResponse? apiResult26;
|
||||
// Stores action output result for [Backend Call - API (Check role has permission)] action in bk4 widget.
|
||||
ApiCallResponse? apiResult27;
|
||||
// State field(s) for TabBar widget.
|
||||
TabController? tabBarController;
|
||||
int get tabBarCurrentIndex =>
|
||||
tabBarController != null ? tabBarController!.index : 0;
|
||||
|
||||
// Stores action output result for [Backend Call - API (View Document)] action in Container widget.
|
||||
ApiCallResponse? apiResult4qr;
|
||||
// Stores action output result for [Backend Call - API (View Document)] action in Container widget.
|
||||
ApiCallResponse? apiResult8ni;
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
tabBarController?.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1782
lib/bookkeeping/bk4/bk4_widget.dart
Normal file
1782
lib/bookkeeping/bk4/bk4_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
55
lib/bookkeeping/bk4_1/bk41_model.dart
Normal file
55
lib/bookkeeping/bk4_1/bk41_model.dart
Normal file
@@ -0,0 +1,55 @@
|
||||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/flutterlib/flutter_drop_down.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/form_field_controller.dart';
|
||||
import '/flutterlib/upload_data.dart';
|
||||
import 'bk41_widget.dart' show Bk41Widget;
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Bk41Model extends FlutterModel<Bk41Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
bool isDataUploading = false;
|
||||
FFUploadedFile uploadedLocalFile =
|
||||
FFUploadedFile(bytes: Uint8List.fromList([]));
|
||||
|
||||
// State field(s) for name widget.
|
||||
FocusNode? nameFocusNode;
|
||||
TextEditingController? nameController;
|
||||
String? Function(BuildContext, String?)? nameControllerValidator;
|
||||
// State field(s) for description widget.
|
||||
FocusNode? descriptionFocusNode;
|
||||
TextEditingController? descriptionController;
|
||||
String? Function(BuildContext, String?)? descriptionControllerValidator;
|
||||
// State field(s) for category widget.
|
||||
String? categoryValue;
|
||||
FormFieldController<String>? categoryValueController;
|
||||
// Stores action output result for [Backend Call - API (Add Document)] action in Button widget.
|
||||
ApiCallResponse? apiResultl9k;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
nameFocusNode?.dispose();
|
||||
nameController?.dispose();
|
||||
|
||||
descriptionFocusNode?.dispose();
|
||||
descriptionController?.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1084
lib/bookkeeping/bk4_1/bk41_widget.dart
Normal file
1084
lib/bookkeeping/bk4_1/bk41_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
29
lib/bookkeeping/bk4_2/bk42_model.dart
Normal file
29
lib/bookkeeping/bk4_2/bk42_model.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk42_widget.dart' show Bk42Widget;
|
||||
import 'package:badges/badges.dart' as badges;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Bk42Model extends FlutterModel<Bk42Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1249
lib/bookkeeping/bk4_2/bk42_widget.dart
Normal file
1249
lib/bookkeeping/bk4_2/bk42_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
95
lib/bookkeeping/bk_checkout/bk_checkout_model.dart
Normal file
95
lib/bookkeeping/bk_checkout/bk_checkout_model.dart
Normal file
@@ -0,0 +1,95 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk_checkout_widget.dart' show BkCheckoutWidget;
|
||||
import 'package:styled_divider/styled_divider.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class BkCheckoutModel extends FlutterModel<BkCheckoutWidget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode1;
|
||||
TextEditingController? textController1;
|
||||
String? Function(BuildContext, String?)? textController1Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode2;
|
||||
TextEditingController? textController2;
|
||||
String? Function(BuildContext, String?)? textController2Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode3;
|
||||
TextEditingController? textController3;
|
||||
String? Function(BuildContext, String?)? textController3Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode4;
|
||||
TextEditingController? textController4;
|
||||
String? Function(BuildContext, String?)? textController4Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode5;
|
||||
TextEditingController? textController5;
|
||||
String? Function(BuildContext, String?)? textController5Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode6;
|
||||
TextEditingController? textController6;
|
||||
String? Function(BuildContext, String?)? textController6Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode7;
|
||||
TextEditingController? textController7;
|
||||
String? Function(BuildContext, String?)? textController7Validator;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode8;
|
||||
TextEditingController? textController8;
|
||||
String? Function(BuildContext, String?)? textController8Validator;
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
textFieldFocusNode1?.dispose();
|
||||
textController1?.dispose();
|
||||
|
||||
textFieldFocusNode2?.dispose();
|
||||
textController2?.dispose();
|
||||
|
||||
textFieldFocusNode3?.dispose();
|
||||
textController3?.dispose();
|
||||
|
||||
textFieldFocusNode4?.dispose();
|
||||
textController4?.dispose();
|
||||
|
||||
textFieldFocusNode5?.dispose();
|
||||
textController5?.dispose();
|
||||
|
||||
textFieldFocusNode6?.dispose();
|
||||
textController6?.dispose();
|
||||
|
||||
textFieldFocusNode7?.dispose();
|
||||
textController7?.dispose();
|
||||
|
||||
textFieldFocusNode8?.dispose();
|
||||
textController8?.dispose();
|
||||
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
2154
lib/bookkeeping/bk_checkout/bk_checkout_widget.dart
Normal file
2154
lib/bookkeeping/bk_checkout/bk_checkout_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
39
lib/bookkeeping/bk_checkout1/bk_checkout1_model.dart
Normal file
39
lib/bookkeeping/bk_checkout1/bk_checkout1_model.dart
Normal file
@@ -0,0 +1,39 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk_checkout1_widget.dart' show BkCheckout1Widget;
|
||||
import 'package:styled_divider/styled_divider.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class BkCheckout1Model extends FlutterModel<BkCheckout1Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1000
lib/bookkeeping/bk_checkout1/bk_checkout1_widget.dart
Normal file
1000
lib/bookkeeping/bk_checkout1/bk_checkout1_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
38
lib/bookkeeping/bk_view/bk_view_model.dart
Normal file
38
lib/bookkeeping/bk_view/bk_view_model.dart
Normal file
@@ -0,0 +1,38 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_icon_button.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'bk_view_widget.dart' show BkViewWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class BkViewModel extends FlutterModel<BkViewWidget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
174
lib/bookkeeping/bk_view/bk_view_widget.dart
Normal file
174
lib/bookkeeping/bk_view/bk_view_widget.dart
Normal file
@@ -0,0 +1,174 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_icon_button.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'bk_view_model.dart';
|
||||
export 'bk_view_model.dart';
|
||||
|
||||
class BkViewWidget extends StatefulWidget {
|
||||
const BkViewWidget({
|
||||
Key? key,
|
||||
required this.fileUrl,
|
||||
}) : super(key: key);
|
||||
|
||||
final dynamic fileUrl;
|
||||
|
||||
@override
|
||||
_BkViewWidgetState createState() => _BkViewWidgetState();
|
||||
}
|
||||
|
||||
class _BkViewWidgetState extends State<BkViewWidget> {
|
||||
late BkViewModel _model;
|
||||
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => BkViewModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_model.dispose();
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (isiOS) {
|
||||
SystemChrome.setSystemUIOverlayStyle(
|
||||
SystemUiOverlayStyle(
|
||||
statusBarBrightness: Theme.of(context).brightness,
|
||||
systemStatusBarContrastEnforced: true,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
context.watch<FFAppState>();
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => _model.unfocusNode.canRequestFocus
|
||||
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
||||
: FocusScope.of(context).unfocus(),
|
||||
child: Scaffold(
|
||||
key: scaffoldKey,
|
||||
backgroundColor: FlutterTheme.of(context).primaryBackground,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(0.0),
|
||||
child: AppBar(
|
||||
backgroundColor: Color(0xFFE7E36B),
|
||||
automaticallyImplyLeading: false,
|
||||
actions: [],
|
||||
centerTitle: false,
|
||||
elevation: 0.0,
|
||||
),
|
||||
),
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Stack(
|
||||
children: [
|
||||
Align(
|
||||
alignment: AlignmentDirectional(0.0, 0.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment: AlignmentDirectional(0.0, 0.0),
|
||||
child: Container(
|
||||
width: 390.0,
|
||||
height: 546.0,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xFFCECECE),
|
||||
),
|
||||
child: Align(
|
||||
alignment: AlignmentDirectional(0.0, 0.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment:
|
||||
AlignmentDirectional(1.0, 0.0),
|
||||
child: Padding(
|
||||
padding:
|
||||
EdgeInsetsDirectional.fromSTEB(
|
||||
0.0, 5.0, 5.0, 0.0),
|
||||
child: FlutterIconButton(
|
||||
borderRadius: 20.0,
|
||||
borderWidth: 1.0,
|
||||
buttonSize: 40.0,
|
||||
fillColor: Color(0xFF9B0025),
|
||||
icon: Icon(
|
||||
Icons.close,
|
||||
color: Color(0xFFE8E8E8),
|
||||
size: 26.0,
|
||||
),
|
||||
onPressed: () async {
|
||||
context.safePop();
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment: AlignmentDirectional(0.0, 0.0),
|
||||
child: ClipRRect(
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
child: Image.network(
|
||||
widget.fileUrl!.toString(),
|
||||
width: 300.0,
|
||||
height: 200.0,
|
||||
fit: BoxFit.contain,
|
||||
alignment: Alignment(0.0, 0.0),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Align(
|
||||
alignment: AlignmentDirectional(0.0, 1.0),
|
||||
child: wrapWithModel(
|
||||
model: _model.navBar1Model,
|
||||
updateCallback: () => setState(() {}),
|
||||
child: NavBar1Widget(),
|
||||
),
|
||||
),
|
||||
Align(
|
||||
alignment: AlignmentDirectional(0.0, -1.0),
|
||||
child: wrapWithModel(
|
||||
model: _model.appbarModel,
|
||||
updateCallback: () => setState(() {}),
|
||||
child: AppbarWidget(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
64
lib/bookkeeping/search1/search1_model.dart
Normal file
64
lib/bookkeeping/search1/search1_model.dart
Normal file
@@ -0,0 +1,64 @@
|
||||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/emptylist_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_drop_down.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/form_field_controller.dart';
|
||||
import '/flutterlib/custom_functions.dart' as functions;
|
||||
import 'search1_widget.dart' show Search1Widget;
|
||||
import 'package:easy_debounce/easy_debounce.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class Search1Model extends FlutterModel<Search1Widget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode;
|
||||
TextEditingController? textController;
|
||||
String? Function(BuildContext, String?)? textControllerValidator;
|
||||
// State field(s) for DropDown widget.
|
||||
String? dropDownValue;
|
||||
FormFieldController<String>? dropDownValueController;
|
||||
// State field(s) for CheckboxListTile widget.
|
||||
bool? checkboxListTileValue;
|
||||
// State field(s) for Checkbox widget.
|
||||
|
||||
Map<dynamic, bool> checkboxValueMap = {};
|
||||
List<dynamic> get checkboxCheckedItems =>
|
||||
checkboxValueMap.entries.where((e) => e.value).map((e) => e.key).toList();
|
||||
|
||||
// Stores action output result for [Backend Call - API (View Document)] action in Container widget.
|
||||
ApiCallResponse? apiResultr1v;
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
textFieldFocusNode?.dispose();
|
||||
textController?.dispose();
|
||||
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1425
lib/bookkeeping/search1/search1_widget.dart
Normal file
1425
lib/bookkeeping/search1/search1_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
89
lib/bookkeeping/search_page/search_page_model.dart
Normal file
89
lib/bookkeeping/search_page/search_page_model.dart
Normal file
@@ -0,0 +1,89 @@
|
||||
import '/components/appbar_widget.dart';
|
||||
import '/components/nav_bar1_widget.dart';
|
||||
import '/flutterlib/flutter_drop_down.dart';
|
||||
import '/flutterlib/flutter_icon_button.dart';
|
||||
import '/flutterlib/flutter_theme.dart';
|
||||
import '/flutterlib/flutter_util.dart';
|
||||
import '/flutterlib/flutter_widgets.dart';
|
||||
import '/flutterlib/form_field_controller.dart';
|
||||
import 'search_page_widget.dart' show SearchPageWidget;
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class SearchPageModel extends FlutterModel<SearchPageWidget> {
|
||||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// State field(s) for DropDown widget.
|
||||
String? dropDownValue1;
|
||||
FormFieldController<String>? dropDownValueController1;
|
||||
// State field(s) for status widget.
|
||||
String? statusValue;
|
||||
FormFieldController<String>? statusValueController;
|
||||
// State field(s) for TextField widget.
|
||||
FocusNode? textFieldFocusNode;
|
||||
TextEditingController? textController1;
|
||||
String? Function(BuildContext, String?)? textController1Validator;
|
||||
// State field(s) for DropDown widget.
|
||||
String? dropDownValue2;
|
||||
FormFieldController<String>? dropDownValueController2;
|
||||
// State field(s) for category_id122 widget.
|
||||
String? categoryId122Value;
|
||||
FormFieldController<String>? categoryId122ValueController;
|
||||
// State field(s) for status122 widget.
|
||||
String? status122Value;
|
||||
FormFieldController<String>? status122ValueController;
|
||||
// State field(s) for search122 widget.
|
||||
FocusNode? search122FocusNode;
|
||||
TextEditingController? search122Controller;
|
||||
String? Function(BuildContext, String?)? search122ControllerValidator;
|
||||
// State field(s) for fix_date122 widget.
|
||||
String? fixDate122Value;
|
||||
FormFieldController<String>? fixDate122ValueController;
|
||||
DateTime? datePicked1;
|
||||
// State field(s) for afterdate widget.
|
||||
FocusNode? afterdateFocusNode;
|
||||
TextEditingController? afterdateController;
|
||||
String? Function(BuildContext, String?)? afterdateControllerValidator;
|
||||
DateTime? datePicked2;
|
||||
// State field(s) for beforedate widget.
|
||||
FocusNode? beforedateFocusNode;
|
||||
TextEditingController? beforedateController;
|
||||
String? Function(BuildContext, String?)? beforedateControllerValidator;
|
||||
// Model for NavBar1 component.
|
||||
late NavBar1Model navBar1Model;
|
||||
// Model for appbar component.
|
||||
late AppbarModel appbarModel;
|
||||
|
||||
/// Initialization and disposal methods.
|
||||
|
||||
void initState(BuildContext context) {
|
||||
navBar1Model = createModel(context, () => NavBar1Model());
|
||||
appbarModel = createModel(context, () => AppbarModel());
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
textFieldFocusNode?.dispose();
|
||||
textController1?.dispose();
|
||||
|
||||
search122FocusNode?.dispose();
|
||||
search122Controller?.dispose();
|
||||
|
||||
afterdateFocusNode?.dispose();
|
||||
afterdateController?.dispose();
|
||||
|
||||
beforedateFocusNode?.dispose();
|
||||
beforedateController?.dispose();
|
||||
|
||||
navBar1Model.dispose();
|
||||
appbarModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks are added here.
|
||||
|
||||
/// Additional helper methods are added here.
|
||||
}
|
||||
1080
lib/bookkeeping/search_page/search_page_widget.dart
Normal file
1080
lib/bookkeeping/search_page/search_page_widget.dart
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user