Merge branch 'feature_dev_ankit' into dev_priya
commit
4345a9c336
|
@ -0,0 +1,16 @@
|
||||||
|
// Flutter web plugin registrant file.
|
||||||
|
//
|
||||||
|
// Generated file. Do not edit.
|
||||||
|
//
|
||||||
|
|
||||||
|
// @dart = 2.13
|
||||||
|
// ignore_for_file: type=lint
|
||||||
|
|
||||||
|
import 'package:file_picker/_internal/file_picker_web.dart';
|
||||||
|
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
|
||||||
|
|
||||||
|
void registerPlugins([final Registrar? pluginRegistrar]) {
|
||||||
|
final Registrar registrar = pluginRegistrar ?? webPluginRegistrar;
|
||||||
|
FilePickerWeb.registerWith(registrar);
|
||||||
|
registrar.registerMessageHandler();
|
||||||
|
}
|
|
@ -0,0 +1,341 @@
|
||||||
|
{
|
||||||
|
"configVersion": 2,
|
||||||
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "async",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "boolean_selector",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "characters",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.3.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "clock",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "collection",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.19.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cross_file",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/cross_file-0.3.4+2",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "cupertino_icons",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/cupertino_icons-1.0.8",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "fake_async",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ffi",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.1.3",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "file_picker",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker-8.3.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flutter",
|
||||||
|
"rootUri": "file:///C:/src/flutter/flutter/packages/flutter",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flutter_lints",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-5.0.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flutter_plugin_android_lifecycle",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.24",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flutter_test",
|
||||||
|
"rootUri": "file:///C:/src/flutter/flutter/packages/flutter_test",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "flutter_web_plugins",
|
||||||
|
"rootUri": "file:///C:/src/flutter/flutter/packages/flutter_web_plugins",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "get",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.15"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "http",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "http_parser",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.1.2",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "intl",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.20.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "leak_tracker",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker-10.0.7",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "leak_tracker_flutter_testing",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.8",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "leak_tracker_testing",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_testing-3.0.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lints",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/lints-5.1.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.6"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "matcher",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.16+1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "material_color_utilities",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.17"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "meta",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.15.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path_provider",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.1.5",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path_provider_android",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.2.15",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path_provider_foundation",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.4.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path_provider_linux",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.2.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path_provider_platform_interface",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "path_provider_windows",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.3.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pixel_snap",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/pixel_snap-0.1.5",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "platform",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.6",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "plugin_platform_interface",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "simple_gesture_detector",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/simple_gesture_detector-0.2.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sizer",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/sizer-3.0.5",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sky_engine",
|
||||||
|
"rootUri": "file:///C:/src/flutter/flutter/bin/cache/pkg/sky_engine",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "source_span",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.18"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stack_trace",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.12.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "stream_channel",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.2",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "string_scanner",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.3.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "table_calendar",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/table_calendar-3.2.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.0"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "term_glyph",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "test_api",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.3",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "typed_data",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vector_math",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.14"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vm_service",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vm_service-14.3.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vph_common_widgets",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vph_common_widgets-0.0.3",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vph_web_date_picker",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vph_web_date_picker-0.0.6",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "2.19"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "web",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "win32",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/win32-5.10.1",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.5"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "xdg_directories",
|
||||||
|
"rootUri": "file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.1.0",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "shayog",
|
||||||
|
"rootUri": "../",
|
||||||
|
"packageUri": "lib/",
|
||||||
|
"languageVersion": "3.6"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"generated": "2025-02-07T11:05:55.892643Z",
|
||||||
|
"generator": "pub",
|
||||||
|
"generatorVersion": "3.6.1",
|
||||||
|
"flutterRoot": "file:///C:/src/flutter/flutter",
|
||||||
|
"flutterVersion": "3.27.3",
|
||||||
|
"pubCache": "file:///C:/Users/Admin/AppData/Local/Pub/Cache"
|
||||||
|
}
|
|
@ -0,0 +1,221 @@
|
||||||
|
async
|
||||||
|
2.18
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/async-2.11.0/lib/
|
||||||
|
boolean_selector
|
||||||
|
2.17
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/boolean_selector-2.1.1/lib/
|
||||||
|
characters
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.3.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/characters-1.3.0/lib/
|
||||||
|
clock
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/clock-1.1.1/lib/
|
||||||
|
collection
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.19.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/collection-1.19.0/lib/
|
||||||
|
cross_file
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/cross_file-0.3.4+2/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/cross_file-0.3.4+2/lib/
|
||||||
|
cupertino_icons
|
||||||
|
3.1
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/cupertino_icons-1.0.8/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/cupertino_icons-1.0.8/lib/
|
||||||
|
fake_async
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/fake_async-1.3.1/lib/
|
||||||
|
ffi
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.1.3/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/ffi-2.1.3/lib/
|
||||||
|
file_picker
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker-8.3.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/file_picker-8.3.1/lib/
|
||||||
|
flutter_lints
|
||||||
|
3.5
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-5.0.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_lints-5.0.0/lib/
|
||||||
|
flutter_plugin_android_lifecycle
|
||||||
|
3.5
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.24/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.24/lib/
|
||||||
|
get
|
||||||
|
2.15
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/get-4.6.6/lib/
|
||||||
|
http
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/http-1.3.0/lib/
|
||||||
|
http_parser
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.1.2/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/http_parser-4.1.2/lib/
|
||||||
|
intl
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.20.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/intl-0.20.1/lib/
|
||||||
|
leak_tracker
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker-10.0.7/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker-10.0.7/lib/
|
||||||
|
leak_tracker_flutter_testing
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.8/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.8/lib/
|
||||||
|
leak_tracker_testing
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_testing-3.0.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/leak_tracker_testing-3.0.1/lib/
|
||||||
|
lints
|
||||||
|
3.6
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/lints-5.1.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/lints-5.1.1/lib/
|
||||||
|
matcher
|
||||||
|
3.0
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.16+1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/matcher-0.12.16+1/lib/
|
||||||
|
material_color_utilities
|
||||||
|
2.17
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/material_color_utilities-0.11.1/lib/
|
||||||
|
meta
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.15.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/meta-1.15.0/lib/
|
||||||
|
path
|
||||||
|
3.0
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path-1.9.0/lib/
|
||||||
|
path_provider
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.1.5/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider-2.1.5/lib/
|
||||||
|
path_provider_android
|
||||||
|
3.5
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.2.15/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_android-2.2.15/lib/
|
||||||
|
path_provider_foundation
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.4.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_foundation-2.4.1/lib/
|
||||||
|
path_provider_linux
|
||||||
|
2.19
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.2.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/
|
||||||
|
path_provider_platform_interface
|
||||||
|
3.0
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/lib/
|
||||||
|
path_provider_windows
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.3.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/path_provider_windows-2.3.0/lib/
|
||||||
|
pixel_snap
|
||||||
|
3.0
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/pixel_snap-0.1.5/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/pixel_snap-0.1.5/lib/
|
||||||
|
platform
|
||||||
|
3.2
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.6/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/platform-3.1.6/lib/
|
||||||
|
plugin_platform_interface
|
||||||
|
3.0
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib/
|
||||||
|
simple_gesture_detector
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/simple_gesture_detector-0.2.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/simple_gesture_detector-0.2.1/lib/
|
||||||
|
sizer
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/sizer-3.0.5/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/sizer-3.0.5/lib/
|
||||||
|
source_span
|
||||||
|
2.18
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/source_span-1.10.0/lib/
|
||||||
|
stack_trace
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.12.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/stack_trace-1.12.0/lib/
|
||||||
|
stream_channel
|
||||||
|
2.19
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.2/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/stream_channel-2.1.2/lib/
|
||||||
|
string_scanner
|
||||||
|
3.1
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.3.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/string_scanner-1.3.0/lib/
|
||||||
|
table_calendar
|
||||||
|
3.0
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/table_calendar-3.2.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/table_calendar-3.2.0/lib/
|
||||||
|
term_glyph
|
||||||
|
2.12
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/term_glyph-1.2.1/lib/
|
||||||
|
test_api
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.3/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/test_api-0.7.3/lib/
|
||||||
|
typed_data
|
||||||
|
3.5
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/typed_data-1.4.0/lib/
|
||||||
|
vector_math
|
||||||
|
2.14
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vector_math-2.1.4/lib/
|
||||||
|
vm_service
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vm_service-14.3.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vm_service-14.3.0/lib/
|
||||||
|
vph_common_widgets
|
||||||
|
2.19
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vph_common_widgets-0.0.3/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vph_common_widgets-0.0.3/lib/
|
||||||
|
vph_web_date_picker
|
||||||
|
2.19
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vph_web_date_picker-0.0.6/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/vph_web_date_picker-0.0.6/lib/
|
||||||
|
web
|
||||||
|
3.4
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/web-1.1.0/lib/
|
||||||
|
win32
|
||||||
|
3.5
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/win32-5.10.1/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/win32-5.10.1/lib/
|
||||||
|
xdg_directories
|
||||||
|
3.3
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.1.0/
|
||||||
|
file:///C:/Users/Admin/AppData/Local/Pub/Cache/hosted/pub.dev/xdg_directories-1.1.0/lib/
|
||||||
|
shayog
|
||||||
|
3.6
|
||||||
|
file:///C:/Users/Admin/Downloads/shayog/
|
||||||
|
file:///C:/Users/Admin/Downloads/shayog/lib/
|
||||||
|
sky_engine
|
||||||
|
3.2
|
||||||
|
file:///C:/src/flutter/flutter/bin/cache/pkg/sky_engine/
|
||||||
|
file:///C:/src/flutter/flutter/bin/cache/pkg/sky_engine/lib/
|
||||||
|
flutter
|
||||||
|
3.3
|
||||||
|
file:///C:/src/flutter/flutter/packages/flutter/
|
||||||
|
file:///C:/src/flutter/flutter/packages/flutter/lib/
|
||||||
|
flutter_test
|
||||||
|
3.3
|
||||||
|
file:///C:/src/flutter/flutter/packages/flutter_test/
|
||||||
|
file:///C:/src/flutter/flutter/packages/flutter_test/lib/
|
||||||
|
flutter_web_plugins
|
||||||
|
3.2
|
||||||
|
file:///C:/src/flutter/flutter/packages/flutter_web_plugins/
|
||||||
|
file:///C:/src/flutter/flutter/packages/flutter_web_plugins/lib/
|
||||||
|
2
|
|
@ -0,0 +1 @@
|
||||||
|
3.27.3
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
|
@ -0,0 +1,461 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="DeviceStreaming">
|
||||||
|
<option name="deviceSelectionList">
|
||||||
|
<list>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="27" />
|
||||||
|
<option name="brand" value="DOCOMO" />
|
||||||
|
<option name="codename" value="F01L" />
|
||||||
|
<option name="id" value="F01L" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="FUJITSU" />
|
||||||
|
<option name="name" value="F-01L" />
|
||||||
|
<option name="screenDensity" value="360" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1280" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="OPPO" />
|
||||||
|
<option name="codename" value="OP573DL1" />
|
||||||
|
<option name="id" value="OP573DL1" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="OPPO" />
|
||||||
|
<option name="name" value="CPH2557" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="28" />
|
||||||
|
<option name="brand" value="DOCOMO" />
|
||||||
|
<option name="codename" value="SH-01L" />
|
||||||
|
<option name="id" value="SH-01L" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="SHARP" />
|
||||||
|
<option name="name" value="AQUOS sense2 SH-01L" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2160" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="Lenovo" />
|
||||||
|
<option name="codename" value="TB370FU" />
|
||||||
|
<option name="formFactor" value="Tablet" />
|
||||||
|
<option name="id" value="TB370FU" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Lenovo" />
|
||||||
|
<option name="name" value="Tab P12" />
|
||||||
|
<option name="screenDensity" value="340" />
|
||||||
|
<option name="screenX" value="1840" />
|
||||||
|
<option name="screenY" value="2944" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="a51" />
|
||||||
|
<option name="id" value="a51" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy A51" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="akita" />
|
||||||
|
<option name="id" value="akita" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="motorola" />
|
||||||
|
<option name="codename" value="arcfox" />
|
||||||
|
<option name="id" value="arcfox" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Motorola" />
|
||||||
|
<option name="name" value="razr plus 2024" />
|
||||||
|
<option name="screenDensity" value="360" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="1272" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="b0q" />
|
||||||
|
<option name="id" value="b0q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S22 Ultra" />
|
||||||
|
<option name="screenDensity" value="600" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3088" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="32" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="bluejay" />
|
||||||
|
<option name="id" value="bluejay" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 6a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="caiman" />
|
||||||
|
<option name="id" value="caiman" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 9 Pro" />
|
||||||
|
<option name="screenDensity" value="360" />
|
||||||
|
<option name="screenX" value="960" />
|
||||||
|
<option name="screenY" value="2142" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="comet" />
|
||||||
|
<option name="default" value="true" />
|
||||||
|
<option name="id" value="comet" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 9 Pro Fold" />
|
||||||
|
<option name="screenDensity" value="390" />
|
||||||
|
<option name="screenX" value="2076" />
|
||||||
|
<option name="screenY" value="2152" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="29" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="crownqlteue" />
|
||||||
|
<option name="id" value="crownqlteue" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Note9" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2220" />
|
||||||
|
<option name="screenY" value="1080" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="dm2q" />
|
||||||
|
<option name="id" value="dm2q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="S23 Plus" />
|
||||||
|
<option name="screenDensity" value="450" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2340" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="dm3q" />
|
||||||
|
<option name="id" value="dm3q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S23 Ultra" />
|
||||||
|
<option name="screenDensity" value="600" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3088" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="e1q" />
|
||||||
|
<option name="default" value="true" />
|
||||||
|
<option name="id" value="e1q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S24" />
|
||||||
|
<option name="screenDensity" value="480" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2340" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="e3q" />
|
||||||
|
<option name="id" value="e3q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy S24 Ultra" />
|
||||||
|
<option name="screenDensity" value="450" />
|
||||||
|
<option name="screenX" value="1440" />
|
||||||
|
<option name="screenY" value="3120" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="eos" />
|
||||||
|
<option name="id" value="eos" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Eos" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="384" />
|
||||||
|
<option name="screenY" value="384" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix" />
|
||||||
|
<option name="id" value="felix" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix" />
|
||||||
|
<option name="id" value="felix" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="felix_camera" />
|
||||||
|
<option name="id" value="felix_camera" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Fold (Camera-enabled)" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="2208" />
|
||||||
|
<option name="screenY" value="1840" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="motorola" />
|
||||||
|
<option name="codename" value="fogona" />
|
||||||
|
<option name="id" value="fogona" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Motorola" />
|
||||||
|
<option name="name" value="moto g play - 2024" />
|
||||||
|
<option name="screenDensity" value="280" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1600" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="g0q" />
|
||||||
|
<option name="id" value="g0q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="SM-S906U1" />
|
||||||
|
<option name="screenDensity" value="450" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2340" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="gts8uwifi" />
|
||||||
|
<option name="formFactor" value="Tablet" />
|
||||||
|
<option name="id" value="gts8uwifi" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Tab S8 Ultra" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="1848" />
|
||||||
|
<option name="screenY" value="2960" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="husky" />
|
||||||
|
<option name="id" value="husky" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8 Pro" />
|
||||||
|
<option name="screenDensity" value="390" />
|
||||||
|
<option name="screenX" value="1008" />
|
||||||
|
<option name="screenY" value="2244" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="motorola" />
|
||||||
|
<option name="codename" value="java" />
|
||||||
|
<option name="id" value="java" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Motorola" />
|
||||||
|
<option name="name" value="G20" />
|
||||||
|
<option name="screenDensity" value="280" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1600" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="komodo" />
|
||||||
|
<option name="id" value="komodo" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 9 Pro XL" />
|
||||||
|
<option name="screenDensity" value="360" />
|
||||||
|
<option name="screenX" value="1008" />
|
||||||
|
<option name="screenY" value="2244" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="lynx" />
|
||||||
|
<option name="id" value="lynx" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 7a" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="motorola" />
|
||||||
|
<option name="codename" value="maui" />
|
||||||
|
<option name="id" value="maui" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Motorola" />
|
||||||
|
<option name="name" value="moto g play - 2023" />
|
||||||
|
<option name="screenDensity" value="280" />
|
||||||
|
<option name="screenX" value="720" />
|
||||||
|
<option name="screenY" value="1600" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="31" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="oriole" />
|
||||||
|
<option name="id" value="oriole" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 6" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="panther" />
|
||||||
|
<option name="id" value="panther" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 7" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="q5q" />
|
||||||
|
<option name="id" value="q5q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Z Fold5" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1812" />
|
||||||
|
<option name="screenY" value="2176" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="samsung" />
|
||||||
|
<option name="codename" value="q6q" />
|
||||||
|
<option name="id" value="q6q" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Samsung" />
|
||||||
|
<option name="name" value="Galaxy Z Fold6" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1856" />
|
||||||
|
<option name="screenY" value="2160" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="r11" />
|
||||||
|
<option name="formFactor" value="Wear OS" />
|
||||||
|
<option name="id" value="r11" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Watch" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="384" />
|
||||||
|
<option name="screenY" value="384" />
|
||||||
|
<option name="type" value="WEAR_OS" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="30" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="redfin" />
|
||||||
|
<option name="id" value="redfin" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 5" />
|
||||||
|
<option name="screenDensity" value="440" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2340" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="shiba" />
|
||||||
|
<option name="id" value="shiba" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 8" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2400" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="33" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="tangorpro" />
|
||||||
|
<option name="formFactor" value="Tablet" />
|
||||||
|
<option name="id" value="tangorpro" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel Tablet" />
|
||||||
|
<option name="screenDensity" value="320" />
|
||||||
|
<option name="screenX" value="1600" />
|
||||||
|
<option name="screenY" value="2560" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
<PersistentDeviceSelectionData>
|
||||||
|
<option name="api" value="34" />
|
||||||
|
<option name="brand" value="google" />
|
||||||
|
<option name="codename" value="tokay" />
|
||||||
|
<option name="default" value="true" />
|
||||||
|
<option name="id" value="tokay" />
|
||||||
|
<option name="labId" value="google" />
|
||||||
|
<option name="manufacturer" value="Google" />
|
||||||
|
<option name="name" value="Pixel 9" />
|
||||||
|
<option name="screenDensity" value="420" />
|
||||||
|
<option name="screenX" value="1080" />
|
||||||
|
<option name="screenY" value="2424" />
|
||||||
|
</PersistentDeviceSelectionData>
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="io.flutter" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/shayog.iml" filepath="$PROJECT_DIR$/.idea/shayog.iml" />
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/android/shayog_android.iml" filepath="$PROJECT_DIR$/android/shayog_android.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.pub" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="Flutter Plugins" level="project" />
|
||||||
|
<orderEntry type="library" name="Dart SDK" level="project" />
|
||||||
|
<orderEntry type="library" name="Dart Packages" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,34 @@
|
||||||
|
package io.flutter.plugins;
|
||||||
|
|
||||||
|
import androidx.annotation.Keep;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import io.flutter.Log;
|
||||||
|
|
||||||
|
import io.flutter.embedding.engine.FlutterEngine;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generated file. Do not edit.
|
||||||
|
* This file is generated by the Flutter tool based on the
|
||||||
|
* plugins that support the Android platform.
|
||||||
|
*/
|
||||||
|
@Keep
|
||||||
|
public final class GeneratedPluginRegistrant {
|
||||||
|
private static final String TAG = "GeneratedPluginRegistrant";
|
||||||
|
public static void registerWith(@NonNull FlutterEngine flutterEngine) {
|
||||||
|
try {
|
||||||
|
flutterEngine.getPlugins().add(new com.mr.flutter.plugin.filepicker.FilePickerPlugin());
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "Error registering plugin file_picker, com.mr.flutter.plugin.filepicker.FilePickerPlugin", e);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
flutterEngine.getPlugins().add(new io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin());
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "Error registering plugin flutter_plugin_android_lifecycle, io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin", e);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "Error registering plugin path_provider_android, io.flutter.plugins.pathprovider.PathProviderPlugin", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
|
@ -0,0 +1,160 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
##
|
||||||
|
## Gradle start up script for UN*X
|
||||||
|
##
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
DEFAULT_JVM_OPTS=""
|
||||||
|
|
||||||
|
APP_NAME="Gradle"
|
||||||
|
APP_BASE_NAME=`basename "$0"`
|
||||||
|
|
||||||
|
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||||
|
MAX_FD="maximum"
|
||||||
|
|
||||||
|
warn ( ) {
|
||||||
|
echo "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
die ( ) {
|
||||||
|
echo
|
||||||
|
echo "$*"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# OS specific support (must be 'true' or 'false').
|
||||||
|
cygwin=false
|
||||||
|
msys=false
|
||||||
|
darwin=false
|
||||||
|
case "`uname`" in
|
||||||
|
CYGWIN* )
|
||||||
|
cygwin=true
|
||||||
|
;;
|
||||||
|
Darwin* )
|
||||||
|
darwin=true
|
||||||
|
;;
|
||||||
|
MINGW* )
|
||||||
|
msys=true
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Attempt to set APP_HOME
|
||||||
|
# Resolve links: $0 may be a link
|
||||||
|
PRG="$0"
|
||||||
|
# Need this for relative symlinks.
|
||||||
|
while [ -h "$PRG" ] ; do
|
||||||
|
ls=`ls -ld "$PRG"`
|
||||||
|
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||||
|
if expr "$link" : '/.*' > /dev/null; then
|
||||||
|
PRG="$link"
|
||||||
|
else
|
||||||
|
PRG=`dirname "$PRG"`"/$link"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
SAVED="`pwd`"
|
||||||
|
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||||
|
APP_HOME="`pwd -P`"
|
||||||
|
cd "$SAVED" >/dev/null
|
||||||
|
|
||||||
|
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||||
|
|
||||||
|
# Determine the Java command to use to start the JVM.
|
||||||
|
if [ -n "$JAVA_HOME" ] ; then
|
||||||
|
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||||
|
# IBM's JDK on AIX uses strange locations for the executables
|
||||||
|
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||||
|
else
|
||||||
|
JAVACMD="$JAVA_HOME/bin/java"
|
||||||
|
fi
|
||||||
|
if [ ! -x "$JAVACMD" ] ; then
|
||||||
|
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
JAVACMD="java"
|
||||||
|
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
|
||||||
|
Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
location of your Java installation."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Increase the maximum file descriptors if we can.
|
||||||
|
if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
|
||||||
|
MAX_FD_LIMIT=`ulimit -H -n`
|
||||||
|
if [ $? -eq 0 ] ; then
|
||||||
|
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||||
|
MAX_FD="$MAX_FD_LIMIT"
|
||||||
|
fi
|
||||||
|
ulimit -n $MAX_FD
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Darwin, add options to specify how the application appears in the dock
|
||||||
|
if $darwin; then
|
||||||
|
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# For Cygwin, switch paths to Windows format before running java
|
||||||
|
if $cygwin ; then
|
||||||
|
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||||
|
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||||
|
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||||
|
|
||||||
|
# We build the pattern for arguments to be converted via cygpath
|
||||||
|
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||||
|
SEP=""
|
||||||
|
for dir in $ROOTDIRSRAW ; do
|
||||||
|
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||||
|
SEP="|"
|
||||||
|
done
|
||||||
|
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||||
|
# Add a user-defined pattern to the cygpath arguments
|
||||||
|
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||||
|
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||||
|
fi
|
||||||
|
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||||
|
i=0
|
||||||
|
for arg in "$@" ; do
|
||||||
|
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||||
|
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||||
|
|
||||||
|
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||||
|
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||||
|
else
|
||||||
|
eval `echo args$i`="\"$arg\""
|
||||||
|
fi
|
||||||
|
i=$((i+1))
|
||||||
|
done
|
||||||
|
case $i in
|
||||||
|
(0) set -- ;;
|
||||||
|
(1) set -- "$args0" ;;
|
||||||
|
(2) set -- "$args0" "$args1" ;;
|
||||||
|
(3) set -- "$args0" "$args1" "$args2" ;;
|
||||||
|
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||||
|
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||||
|
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||||
|
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||||
|
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||||
|
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
|
||||||
|
function splitJvmOpts() {
|
||||||
|
JVM_OPTS=("$@")
|
||||||
|
}
|
||||||
|
eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
|
||||||
|
JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
|
||||||
|
|
||||||
|
exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
|
|
@ -0,0 +1,90 @@
|
||||||
|
@if "%DEBUG%" == "" @echo off
|
||||||
|
@rem ##########################################################################
|
||||||
|
@rem
|
||||||
|
@rem Gradle startup script for Windows
|
||||||
|
@rem
|
||||||
|
@rem ##########################################################################
|
||||||
|
|
||||||
|
@rem Set local scope for the variables with windows NT shell
|
||||||
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
|
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
|
set DEFAULT_JVM_OPTS=
|
||||||
|
|
||||||
|
set DIRNAME=%~dp0
|
||||||
|
if "%DIRNAME%" == "" set DIRNAME=.
|
||||||
|
set APP_BASE_NAME=%~n0
|
||||||
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
|
@rem Find java.exe
|
||||||
|
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||||
|
|
||||||
|
set JAVA_EXE=java.exe
|
||||||
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
|
if "%ERRORLEVEL%" == "0" goto init
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:findJavaFromJavaHome
|
||||||
|
set JAVA_HOME=%JAVA_HOME:"=%
|
||||||
|
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||||
|
|
||||||
|
if exist "%JAVA_EXE%" goto init
|
||||||
|
|
||||||
|
echo.
|
||||||
|
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||||
|
echo.
|
||||||
|
echo Please set the JAVA_HOME variable in your environment to match the
|
||||||
|
echo location of your Java installation.
|
||||||
|
|
||||||
|
goto fail
|
||||||
|
|
||||||
|
:init
|
||||||
|
@rem Get command-line arguments, handling Windowz variants
|
||||||
|
|
||||||
|
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||||
|
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||||
|
|
||||||
|
:win9xME_args
|
||||||
|
@rem Slurp the command line arguments.
|
||||||
|
set CMD_LINE_ARGS=
|
||||||
|
set _SKIP=2
|
||||||
|
|
||||||
|
:win9xME_args_slurp
|
||||||
|
if "x%~1" == "x" goto execute
|
||||||
|
|
||||||
|
set CMD_LINE_ARGS=%*
|
||||||
|
goto execute
|
||||||
|
|
||||||
|
:4NT_args
|
||||||
|
@rem Get arguments from the 4NT Shell from JP Software
|
||||||
|
set CMD_LINE_ARGS=%$
|
||||||
|
|
||||||
|
:execute
|
||||||
|
@rem Setup the command line
|
||||||
|
|
||||||
|
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||||
|
|
||||||
|
@rem Execute Gradle
|
||||||
|
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||||
|
|
||||||
|
:end
|
||||||
|
@rem End local scope for the variables with windows NT shell
|
||||||
|
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||||
|
|
||||||
|
:fail
|
||||||
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
|
rem the _cmd.exe /c_ return code!
|
||||||
|
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||||
|
exit /b 1
|
||||||
|
|
||||||
|
:mainEnd
|
||||||
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|
||||||
|
:omega
|
|
@ -0,0 +1,5 @@
|
||||||
|
sdk.dir=C:\\Users\\Admin\\AppData\\Local\\Android\\sdk
|
||||||
|
flutter.sdk=C:\\src\\flutter\\flutter
|
||||||
|
flutter.buildMode=release
|
||||||
|
flutter.versionName=1.0.0
|
||||||
|
flutter.versionCode=1
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="android" name="Android">
|
||||||
|
<configuration>
|
||||||
|
<option name="ALLOW_USER_CONFIGURATION" value="false" />
|
||||||
|
<option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/gen" />
|
||||||
|
<option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/gen" />
|
||||||
|
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/app/src/main/AndroidManifest.xml" />
|
||||||
|
<option name="RES_FOLDER_RELATIVE_PATH" value="/app/src/main/res" />
|
||||||
|
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/app/src/main/assets" />
|
||||||
|
<option name="LIBS_FOLDER_RELATIVE_PATH" value="/app/src/main/libs" />
|
||||||
|
<option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH" value="/app/src/main/proguard_logs" />
|
||||||
|
</configuration>
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/src/main/java" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/app/src/main/kotlin" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="Flutter for Android" level="project" />
|
||||||
|
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
|
@ -0,0 +1,14 @@
|
||||||
|
// This is a generated file; do not edit or check into version control.
|
||||||
|
FLUTTER_ROOT=C:\src\flutter\flutter
|
||||||
|
FLUTTER_APPLICATION_PATH=C:\Users\Admin\Downloads\shayog
|
||||||
|
COCOAPODS_PARALLEL_CODE_SIGN=true
|
||||||
|
FLUTTER_TARGET=lib\main.dart
|
||||||
|
FLUTTER_BUILD_DIR=build
|
||||||
|
FLUTTER_BUILD_NAME=1.0.0
|
||||||
|
FLUTTER_BUILD_NUMBER=1
|
||||||
|
EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386
|
||||||
|
EXCLUDED_ARCHS[sdk=iphoneos*]=armv7
|
||||||
|
DART_OBFUSCATION=false
|
||||||
|
TRACK_WIDGET_CREATION=true
|
||||||
|
TREE_SHAKE_ICONS=false
|
||||||
|
PACKAGE_CONFIG=.dart_tool/package_config.json
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This is a generated file; do not edit or check into version control.
|
||||||
|
export "FLUTTER_ROOT=C:\src\flutter\flutter"
|
||||||
|
export "FLUTTER_APPLICATION_PATH=C:\Users\Admin\Downloads\shayog"
|
||||||
|
export "COCOAPODS_PARALLEL_CODE_SIGN=true"
|
||||||
|
export "FLUTTER_TARGET=lib\main.dart"
|
||||||
|
export "FLUTTER_BUILD_DIR=build"
|
||||||
|
export "FLUTTER_BUILD_NAME=1.0.0"
|
||||||
|
export "FLUTTER_BUILD_NUMBER=1"
|
||||||
|
export "DART_OBFUSCATION=false"
|
||||||
|
export "TRACK_WIDGET_CREATION=true"
|
||||||
|
export "TREE_SHAKE_ICONS=false"
|
||||||
|
export "PACKAGE_CONFIG=.dart_tool/package_config.json"
|
|
@ -0,0 +1,19 @@
|
||||||
|
//
|
||||||
|
// Generated file. Do not edit.
|
||||||
|
//
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
|
||||||
|
#ifndef GeneratedPluginRegistrant_h
|
||||||
|
#define GeneratedPluginRegistrant_h
|
||||||
|
|
||||||
|
#import <Flutter/Flutter.h>
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_BEGIN
|
||||||
|
|
||||||
|
@interface GeneratedPluginRegistrant : NSObject
|
||||||
|
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry;
|
||||||
|
@end
|
||||||
|
|
||||||
|
NS_ASSUME_NONNULL_END
|
||||||
|
#endif /* GeneratedPluginRegistrant_h */
|
|
@ -0,0 +1,28 @@
|
||||||
|
//
|
||||||
|
// Generated file. Do not edit.
|
||||||
|
//
|
||||||
|
|
||||||
|
// clang-format off
|
||||||
|
|
||||||
|
#import "GeneratedPluginRegistrant.h"
|
||||||
|
|
||||||
|
#if __has_include(<file_picker/FilePickerPlugin.h>)
|
||||||
|
#import <file_picker/FilePickerPlugin.h>
|
||||||
|
#else
|
||||||
|
@import file_picker;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __has_include(<path_provider_foundation/PathProviderPlugin.h>)
|
||||||
|
#import <path_provider_foundation/PathProviderPlugin.h>
|
||||||
|
#else
|
||||||
|
@import path_provider_foundation;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@implementation GeneratedPluginRegistrant
|
||||||
|
|
||||||
|
+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry {
|
||||||
|
[FilePickerPlugin registerWithRegistrar:[registry registrarForPlugin:@"FilePickerPlugin"]];
|
||||||
|
[PathProviderPlugin registerWithRegistrar:[registry registrarForPlugin:@"PathProviderPlugin"]];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
|
@ -45,9 +45,10 @@ class InputField extends StatelessWidget {
|
||||||
// return Container(height: 0, color: Colors.transparent);
|
// return Container(height: 0, color: Colors.transparent);
|
||||||
// },
|
// },
|
||||||
style: 12.txtSBoldBlack,
|
style: 12.txtSBoldBlack,
|
||||||
maxLength: maxLength,
|
maxLength: maxLength,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(counterText: '',
|
||||||
counterText: '',
|
|
||||||
|
|
||||||
isDense: true,
|
isDense: true,
|
||||||
hintStyle: 11.txtSBoldGrey,
|
hintStyle: 11.txtSBoldGrey,
|
||||||
maintainHintHeight: true,
|
maintainHintHeight: true,
|
||||||
|
@ -61,6 +62,7 @@ class InputField extends StatelessWidget {
|
||||||
focusedErrorBorder: underLineBorder ?? inputBorder,
|
focusedErrorBorder: underLineBorder ?? inputBorder,
|
||||||
filled: true,
|
filled: true,
|
||||||
hintText: title ?? "",
|
hintText: title ?? "",
|
||||||
|
|
||||||
labelStyle: 12.txtSBoldGrey,
|
labelStyle: 12.txtSBoldGrey,
|
||||||
fillColor: AppColors.clrD9,
|
fillColor: AppColors.clrD9,
|
||||||
errorText: "",
|
errorText: "",
|
||||||
|
|
|
@ -87,6 +87,9 @@ class AppStrings {
|
||||||
static const String paymentView = "Payment View";
|
static const String paymentView = "Payment View";
|
||||||
static const String transporterInbound = "Transporter Inbound Transaction";
|
static const String transporterInbound = "Transporter Inbound Transaction";
|
||||||
static const String close = "Close";
|
static const String close = "Close";
|
||||||
|
static const String billDayConfiguration = "Bill Day Configuration";
|
||||||
|
static const String bufferDayConfiguration = "Buffer Day Configuration";
|
||||||
|
static const String ccnConfiguration = "CCN Configuration";
|
||||||
static const String utrAmt = "UTR Amount ";
|
static const String utrAmt = "UTR Amount ";
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,42 +1,300 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:get/get_core/src/get_main.dart';
|
||||||
|
import 'package:get/get_state_manager/src/rx_flutter/rx_obx_widget.dart';
|
||||||
|
import 'package:shayog/feature/presentation/screens/admin/configuration_management/configuration_screen_controller.dart';
|
||||||
|
|
||||||
|
import '../../../../../components/common/common_btn.dart';
|
||||||
|
import '../../../../../components/common/input_field.dart';
|
||||||
|
import '../../../../../components/styles/app_colors.dart';
|
||||||
|
import '../../../../../components/styles/app_images.dart';
|
||||||
|
import '../../../../../components/styles/app_strings.dart';
|
||||||
import '../../../widgets/custom_table.dart';
|
import '../../../widgets/custom_table.dart';
|
||||||
|
|
||||||
class ConfigurationScreen extends StatelessWidget {
|
class ConfigurationScreen extends StatefulWidget {
|
||||||
const ConfigurationScreen({super.key});
|
const ConfigurationScreen({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<ConfigurationScreen> createState() => _ConfigurationScreenState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _ConfigurationScreenState extends State<ConfigurationScreen> {
|
||||||
|
final ctrl = Get.put(ConfigurationScreenController());
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
// Row 1 (Header Row)
|
Container(
|
||||||
Row(
|
padding: EdgeInsets.only(bottom: 4),
|
||||||
children: [
|
margin: EdgeInsets.all(8),
|
||||||
CustomTable(text:"Header 1", isHeader: true),
|
child: Column(
|
||||||
CustomTable(text:"Header 2", isHeader: true),
|
children: [
|
||||||
CustomTable(text:"Header 3", isHeader: true),
|
Container(
|
||||||
],
|
margin: EdgeInsets.only(bottom: 12),
|
||||||
),
|
height: 45,
|
||||||
Row(
|
color: AppColors.primaryClr,
|
||||||
children: [
|
child: Row(
|
||||||
CustomTable(text:"Row 1, Col 1"),
|
children: [
|
||||||
CustomTable(text:"Row 1, Col 2"),
|
ListView.separated(
|
||||||
CustomTable(text:"Row 1, Col 3"),
|
padding: EdgeInsets.symmetric(horizontal: 16),
|
||||||
],
|
scrollDirection: Axis.horizontal,
|
||||||
),
|
shrinkWrap: true,
|
||||||
Row(
|
itemBuilder: (context, index) {
|
||||||
children: [
|
return Obx(
|
||||||
CustomTable(text:"Row 2, Col 1"),
|
() => InkWell(
|
||||||
CustomTable(text:"Row 2, Col 2"),
|
onTap: () {
|
||||||
CustomTable(text:"Row 2, Col 3"),
|
ctrl.selectedState.value = index;
|
||||||
],
|
},
|
||||||
|
child: Container(
|
||||||
|
margin: EdgeInsets.only(bottom: 10, top: 10),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border(
|
||||||
|
bottom: BorderSide(
|
||||||
|
color:
|
||||||
|
ctrl.selectedState.value == index
|
||||||
|
? Colors.white
|
||||||
|
: AppColors.primaryClr,
|
||||||
|
width: 3))),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
ctrl.userTabs[index].title ?? "",
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.w900,
|
||||||
|
color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return SizedBox(width: 16);
|
||||||
|
},
|
||||||
|
itemCount: ctrl.userTabs.length),
|
||||||
|
Spacer(),
|
||||||
|
InkWell(
|
||||||
|
child: Image.asset(AppImages.refresh,
|
||||||
|
height: 10, width: 10)),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Text(
|
||||||
|
AppStrings.refresh,
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColors.white,
|
||||||
|
fontSize: 10,
|
||||||
|
fontWeight: FontWeight.normal),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
Container(
|
||||||
|
padding: EdgeInsets.all(16),
|
||||||
|
color: AppColors.clrF2,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Plant",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select Plant ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedInvoice.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl.selectedInvoice.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.invoiceNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"User Name",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select User Name",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Product Name",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select Product Name ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedFreightNo.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl
|
||||||
|
// .selectedFreightNo.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.freightBillNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsets.only(top: 16.0, left: 0, right: 8),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Bill day",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select Bill Day",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
CommonBtn(
|
||||||
|
bkClr: Colors.white,
|
||||||
|
text: AppStrings.cancel,
|
||||||
|
clickAction: () {},
|
||||||
|
),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
CommonBtn(
|
||||||
|
bkClr: Colors.white,
|
||||||
|
text: AppStrings.submit,
|
||||||
|
clickAction: () {},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
),
|
),
|
||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_commonText(String title) {
|
||||||
|
return Text(
|
||||||
|
title,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 13, color: Colors.black, fontWeight: FontWeight.w900),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
import 'package:get/get_rx/src/rx_types/rx_types.dart';
|
||||||
|
import 'package:get/get_state_manager/src/simple/get_controllers.dart';
|
||||||
|
|
||||||
|
import '../../../../../components/common/common_model.dart';
|
||||||
|
import '../../../../../components/styles/app_strings.dart';
|
||||||
|
|
||||||
|
class ConfigurationScreenController extends GetxController{
|
||||||
|
var selectedState = 0.obs;
|
||||||
|
RxBool isSelected = false.obs;
|
||||||
|
RxList userTabs = <CommonModel>[
|
||||||
|
CommonModel(title: AppStrings.billDayConfiguration),
|
||||||
|
CommonModel(title: AppStrings.bufferDayConfiguration),
|
||||||
|
CommonModel(title: AppStrings.ccnConfiguration),
|
||||||
|
].obs;
|
||||||
|
var selectedInvoice = '41896424644'.obs; // Default value
|
||||||
|
var selectedFreightNo = '9841651635426'.obs; // Default value
|
||||||
|
void toggleContainer() {
|
||||||
|
isSelected.value = true;
|
||||||
|
print("isSelected.value..${isSelected.value}");
|
||||||
|
}
|
||||||
|
var invoiceNoItems = ['41896424644', '41896424644',
|
||||||
|
'41896424644', '41896424644','41896424644'].obs;
|
||||||
|
var freightBillNoItems = ['9841651635426','9841651635426','9841651635426','9841651635426','9841651635426'];
|
||||||
|
}
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:shayog/components/styles/textStyles.dart';
|
import 'package:shayog/components/styles/textStyles.dart';
|
||||||
|
@ -342,10 +343,6 @@ class FreightBillScreen extends StatelessWidget {
|
||||||
TableRow(
|
TableRow(
|
||||||
decoration: BoxDecoration(color: AppColors.secondaryClr),
|
decoration: BoxDecoration(color: AppColors.secondaryClr),
|
||||||
children: [
|
children: [
|
||||||
_cellText(
|
|
||||||
text: "SR. No.",
|
|
||||||
clr: Colors.black,
|
|
||||||
fontWeight: FontWeight.bold),
|
|
||||||
_cellText(
|
_cellText(
|
||||||
text: "Transporter Name",
|
text: "Transporter Name",
|
||||||
clr: Colors.black,
|
clr: Colors.black,
|
||||||
|
@ -378,7 +375,6 @@ class FreightBillScreen extends StatelessWidget {
|
||||||
fontWeight: FontWeight.bold),
|
fontWeight: FontWeight.bold),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "01"),
|
|
||||||
_cellText(text: "User 1"),
|
_cellText(text: "User 1"),
|
||||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||||
_cellText(text: "1 August 2024"),
|
_cellText(text: "1 August 2024"),
|
||||||
|
@ -389,7 +385,6 @@ class FreightBillScreen extends StatelessWidget {
|
||||||
_cellText(text: "78646646"),
|
_cellText(text: "78646646"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "02"),
|
|
||||||
_cellText(text: "User 2"),
|
_cellText(text: "User 2"),
|
||||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||||
_cellText(text: "1 August 2024"),
|
_cellText(text: "1 August 2024"),
|
||||||
|
@ -400,7 +395,6 @@ class FreightBillScreen extends StatelessWidget {
|
||||||
_cellText(text: "78646646"),
|
_cellText(text: "78646646"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "03"),
|
|
||||||
_cellText(text: "User 3"),
|
_cellText(text: "User 3"),
|
||||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||||
_cellText(text: "1 August 2024"),
|
_cellText(text: "1 August 2024"),
|
||||||
|
@ -411,7 +405,6 @@ class FreightBillScreen extends StatelessWidget {
|
||||||
_cellText(text: "-"),
|
_cellText(text: "-"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "04"),
|
|
||||||
_cellText(text: "User 4"),
|
_cellText(text: "User 4"),
|
||||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||||
_cellText(text: "1 August 2024"),
|
_cellText(text: "1 August 2024"),
|
||||||
|
@ -422,7 +415,6 @@ class FreightBillScreen extends StatelessWidget {
|
||||||
_cellText(text: "78646646"),
|
_cellText(text: "78646646"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "05"),
|
|
||||||
_cellText(text: "User 5"),
|
_cellText(text: "User 5"),
|
||||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||||
_cellText(text: "1 August 2024"),
|
_cellText(text: "1 August 2024"),
|
||||||
|
|
|
@ -6,6 +6,7 @@ import '../../../../../../components/styles/app_strings.dart';
|
||||||
|
|
||||||
class MasterCtrl extends GetxController{
|
class MasterCtrl extends GetxController{
|
||||||
var selectedUser = 0.obs;
|
var selectedUser = 0.obs;
|
||||||
|
RxBool isSelected = false.obs;
|
||||||
var supplierCode = 'Supplier Code'.obs;
|
var supplierCode = 'Supplier Code'.obs;
|
||||||
var bpGrouping = 'BP Grouping'.obs;
|
var bpGrouping = 'BP Grouping'.obs;
|
||||||
var accountGrp = 'Supplier Account Group'.obs;
|
var accountGrp = 'Supplier Account Group'.obs;
|
||||||
|
@ -24,4 +25,8 @@ class MasterCtrl extends GetxController{
|
||||||
CommonModel(title: AppStrings.plantMaster),
|
CommonModel(title: AppStrings.plantMaster),
|
||||||
|
|
||||||
].obs;
|
].obs;
|
||||||
|
void toggleContainer() {
|
||||||
|
isSelected.value = true;
|
||||||
|
print("isSelected.value..${isSelected.value}");
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,8 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import '../../../../../components/common/common_btn.dart';
|
||||||
import '../../../../../components/common/custom_drop_down.dart';
|
import '../../../../../components/common/custom_drop_down.dart';
|
||||||
|
import '../../../../../components/common/input_field.dart';
|
||||||
import '../../../../../components/styles/app_colors.dart';
|
import '../../../../../components/styles/app_colors.dart';
|
||||||
import '../../../../../components/styles/app_images.dart';
|
import '../../../../../components/styles/app_images.dart';
|
||||||
import '../../../../../components/styles/app_strings.dart';
|
import '../../../../../components/styles/app_strings.dart';
|
||||||
|
@ -79,6 +81,7 @@ class MasterScreen extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
InkWell(
|
InkWell(
|
||||||
|
onTap: masterCtrl.toggleContainer,
|
||||||
child: Image.asset(AppImages.filter,
|
child: Image.asset(AppImages.filter,
|
||||||
height: 12, width: 12)),
|
height: 12, width: 12)),
|
||||||
Padding(
|
Padding(
|
||||||
|
@ -107,13 +110,371 @@ class MasterScreen extends StatelessWidget {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Obx(
|
||||||
|
() => masterCtrl.isSelected.value
|
||||||
|
? Container(
|
||||||
|
padding: EdgeInsets.all(16),
|
||||||
|
color: AppColors.clrF2,
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Supplier Code",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Enter Supplier Code ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedInvoice.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl.selectedInvoice.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.invoiceNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Supplier Name",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Enter Supplier Name",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Supplier Account Group",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Supplier Account Group ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedFreightNo.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl
|
||||||
|
// .selectedFreightNo.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.freightBillNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsets.only(top: 16.0, left: 0, right: 8),
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"State",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select State ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedInvoice.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl.selectedInvoice.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.invoiceNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
SizedBox(width: 16,),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"BP Group",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select BP Group ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedInvoice.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl.selectedInvoice.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.invoiceNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
SizedBox(width: 16,),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
_commonText(
|
||||||
|
"Status",
|
||||||
|
),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
InputField(
|
||||||
|
title: "Select Status ",
|
||||||
|
),
|
||||||
|
// Obx(
|
||||||
|
// () => Container(
|
||||||
|
// padding: EdgeInsets.only(left: 8),
|
||||||
|
// height: 35,
|
||||||
|
// decoration: BoxDecoration(
|
||||||
|
// borderRadius:
|
||||||
|
// BorderRadius.circular(4.0),
|
||||||
|
// color: AppColors.clrD9,
|
||||||
|
// border: Border.all(
|
||||||
|
// color: AppColors.clrGrey)),
|
||||||
|
// child: DropdownButton<String>(
|
||||||
|
// icon: Icon(
|
||||||
|
// Icons
|
||||||
|
// .keyboard_arrow_down_outlined,
|
||||||
|
// size: 20,
|
||||||
|
// color: AppColors.darkGrey),
|
||||||
|
//
|
||||||
|
// isExpanded: true,
|
||||||
|
// underline: SizedBox(),
|
||||||
|
//
|
||||||
|
// value: ctrl
|
||||||
|
// .selectedInvoice.value,
|
||||||
|
// // Use the selected value
|
||||||
|
// onChanged: (String? newValue) {
|
||||||
|
// if (newValue != null) {
|
||||||
|
// ctrl.selectedInvoice.value =
|
||||||
|
// newValue; // Update the selected value
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// items: ctrl.invoiceNoItems
|
||||||
|
// .map((String value) {
|
||||||
|
// return DropdownMenuItem<String>(
|
||||||
|
// value: value.toString(),
|
||||||
|
// child: Text(
|
||||||
|
// value,
|
||||||
|
// style: TextStyle(
|
||||||
|
// fontSize: 12,
|
||||||
|
// color:
|
||||||
|
// AppColors.darkGrey),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }).toList(),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
children: [
|
||||||
|
CommonBtn(
|
||||||
|
bkClr: Colors.white,
|
||||||
|
text: AppStrings.cancel,
|
||||||
|
clickAction: () {},
|
||||||
|
),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
CommonBtn(
|
||||||
|
text: AppStrings.submit,
|
||||||
|
|
||||||
|
clickAction: () {},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: SizedBox(),
|
||||||
|
),
|
||||||
|
SizedBox(height: 20,),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
switch (masterCtrl.selectedUser.value) {
|
switch (masterCtrl.selectedUser.value) {
|
||||||
case 0:
|
case 0:
|
||||||
return _tableView();
|
return _tableView();
|
||||||
|
default:
|
||||||
|
|
||||||
default:
|
|
||||||
return Text("");
|
return Text("");
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
@ -129,10 +490,11 @@ _tableView(){
|
||||||
TableRow(
|
TableRow(
|
||||||
decoration: BoxDecoration(color: AppColors.secondaryClr),
|
decoration: BoxDecoration(color: AppColors.secondaryClr),
|
||||||
children: [
|
children: [
|
||||||
_cellText(text: "SR. No."),
|
// _cellText(text: "SR. No."),
|
||||||
//CustomTable(text: "SR. NO."),
|
//CustomTable(text: "SR. NO."),
|
||||||
CustomDropdown<String>(
|
CustomDropdown<String>(
|
||||||
items: masterCtrl.supplier,
|
items: masterCtrl.supplier,
|
||||||
|
backClr: AppColors.clrD9,
|
||||||
itemLabel: (item) => item,
|
itemLabel: (item) => item,
|
||||||
onSelected: (selected) {
|
onSelected: (selected) {
|
||||||
if (selected != null) {
|
if (selected != null) {
|
||||||
|
@ -142,6 +504,7 @@ _tableView(){
|
||||||
hintText: 'Supplier Code'),
|
hintText: 'Supplier Code'),
|
||||||
CustomDropdown<String>(
|
CustomDropdown<String>(
|
||||||
items: masterCtrl.supplier,
|
items: masterCtrl.supplier,
|
||||||
|
backClr: AppColors.clrD9,
|
||||||
itemLabel: (item) => item,
|
itemLabel: (item) => item,
|
||||||
onSelected: (selected) {
|
onSelected: (selected) {
|
||||||
if (selected != null) {
|
if (selected != null) {
|
||||||
|
@ -151,6 +514,7 @@ _tableView(){
|
||||||
hintText: 'BP Grouping'),
|
hintText: 'BP Grouping'),
|
||||||
CustomDropdown<String>(
|
CustomDropdown<String>(
|
||||||
items: masterCtrl.supplier,
|
items: masterCtrl.supplier,
|
||||||
|
backClr: AppColors.clrD9,
|
||||||
itemLabel: (item) => item,
|
itemLabel: (item) => item,
|
||||||
onSelected: (selected) {
|
onSelected: (selected) {
|
||||||
if (selected != null) {
|
if (selected != null) {
|
||||||
|
@ -160,6 +524,7 @@ _tableView(){
|
||||||
hintText: 'Supplier Account Group'),
|
hintText: 'Supplier Account Group'),
|
||||||
CustomDropdown<String>(
|
CustomDropdown<String>(
|
||||||
items: masterCtrl.supplier,
|
items: masterCtrl.supplier,
|
||||||
|
backClr: AppColors.clrD9,
|
||||||
itemLabel: (item) => item,
|
itemLabel: (item) => item,
|
||||||
onSelected: (selected) {
|
onSelected: (selected) {
|
||||||
if (selected != null) {
|
if (selected != null) {
|
||||||
|
@ -170,7 +535,6 @@ _tableView(){
|
||||||
_cellText(text: "Legal Entity"),
|
_cellText(text: "Legal Entity"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "01"),
|
|
||||||
_cellText(text: "11059440"),
|
_cellText(text: "11059440"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
|
@ -178,7 +542,6 @@ _tableView(){
|
||||||
_cellText(text: "0"),
|
_cellText(text: "0"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "02"),
|
|
||||||
_cellText(text: "11059440"),
|
_cellText(text: "11059440"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
|
@ -187,7 +550,6 @@ _tableView(){
|
||||||
|
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "03"),
|
|
||||||
_cellText(text: "11059440"),
|
_cellText(text: "11059440"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
|
@ -195,7 +557,6 @@ _tableView(){
|
||||||
_cellText(text: "0"),
|
_cellText(text: "0"),
|
||||||
]),
|
]),
|
||||||
TableRow(children: [
|
TableRow(children: [
|
||||||
_cellText(text: "04"),
|
|
||||||
_cellText(text: "11059440"),
|
_cellText(text: "11059440"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
_cellText(text: "ZIPT"),
|
_cellText(text: "ZIPT"),
|
||||||
|
@ -219,4 +580,11 @@ _tableView(){
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
_commonText(String title) {
|
||||||
|
return Text(
|
||||||
|
title,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 13, color: Colors.black, fontWeight: FontWeight.w900),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,9 +24,9 @@ class GetAllUserResModel {
|
||||||
GetAllUserResModel({
|
GetAllUserResModel({
|
||||||
this.content,
|
this.content,
|
||||||
this.pageable,
|
this.pageable,
|
||||||
this.last,
|
|
||||||
this.totalElements,
|
this.totalElements,
|
||||||
this.totalPages,
|
this.totalPages,
|
||||||
|
this.last,
|
||||||
this.size,
|
this.size,
|
||||||
this.number,
|
this.number,
|
||||||
this.sort,
|
this.sort,
|
||||||
|
@ -38,9 +38,9 @@ class GetAllUserResModel {
|
||||||
factory GetAllUserResModel.fromJson(Map<String, dynamic> json) => GetAllUserResModel(
|
factory GetAllUserResModel.fromJson(Map<String, dynamic> json) => GetAllUserResModel(
|
||||||
content: json["content"] == null ? [] : List<List<AllUser>>.from(json["content"]!.map((x) => List<AllUser>.from(x.map((x) => AllUser.fromJson(x))))),
|
content: json["content"] == null ? [] : List<List<AllUser>>.from(json["content"]!.map((x) => List<AllUser>.from(x.map((x) => AllUser.fromJson(x))))),
|
||||||
pageable: json["pageable"] == null ? null : Pageable.fromJson(json["pageable"]),
|
pageable: json["pageable"] == null ? null : Pageable.fromJson(json["pageable"]),
|
||||||
last: json["last"],
|
|
||||||
totalElements: json["totalElements"],
|
totalElements: json["totalElements"],
|
||||||
totalPages: json["totalPages"],
|
totalPages: json["totalPages"],
|
||||||
|
last: json["last"],
|
||||||
size: json["size"],
|
size: json["size"],
|
||||||
number: json["number"],
|
number: json["number"],
|
||||||
sort: json["sort"] == null ? null : Sort.fromJson(json["sort"]),
|
sort: json["sort"] == null ? null : Sort.fromJson(json["sort"]),
|
||||||
|
@ -52,9 +52,9 @@ class GetAllUserResModel {
|
||||||
Map<String, dynamic> toJson() => {
|
Map<String, dynamic> toJson() => {
|
||||||
"content": content == null ? [] : List<dynamic>.from(content!.map((x) => List<dynamic>.from(x.map((x) => x.toJson())))),
|
"content": content == null ? [] : List<dynamic>.from(content!.map((x) => List<dynamic>.from(x.map((x) => x.toJson())))),
|
||||||
"pageable": pageable?.toJson(),
|
"pageable": pageable?.toJson(),
|
||||||
"last": last,
|
|
||||||
"totalElements": totalElements,
|
"totalElements": totalElements,
|
||||||
"totalPages": totalPages,
|
"totalPages": totalPages,
|
||||||
|
"last": last,
|
||||||
"size": size,
|
"size": size,
|
||||||
"number": number,
|
"number": number,
|
||||||
"sort": sort?.toJson(),
|
"sort": sort?.toJson(),
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
// To parse this JSON data, do
|
||||||
|
//
|
||||||
|
// final getInvoiceRequest = getInvoiceRequestFromJson(jsonString);
|
||||||
|
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
GetInvoiceRequest getInvoiceRequestFromJson(String str) =>
|
||||||
|
GetInvoiceRequest.fromJson(json.decode(str));
|
||||||
|
|
||||||
|
String getInvoiceRequestToJson(GetInvoiceRequest data) =>
|
||||||
|
json.encode(data.toJson());
|
||||||
|
|
||||||
|
class GetInvoiceRequest {
|
||||||
|
final String? invoiceId;
|
||||||
|
final String? freightBillNo;
|
||||||
|
final String? invFromDate;
|
||||||
|
final String? invToDate;
|
||||||
|
final String? freightFromDate;
|
||||||
|
final String? freightToDate;
|
||||||
|
|
||||||
|
GetInvoiceRequest({
|
||||||
|
this.invoiceId,
|
||||||
|
this.freightBillNo,
|
||||||
|
this.invFromDate,
|
||||||
|
this.invToDate,
|
||||||
|
this.freightFromDate,
|
||||||
|
this.freightToDate,
|
||||||
|
});
|
||||||
|
|
||||||
|
factory GetInvoiceRequest.fromJson(Map<String, dynamic> json) =>
|
||||||
|
GetInvoiceRequest(
|
||||||
|
invoiceId: json["invoice_id"],
|
||||||
|
freightBillNo: json["freightBillNo"],
|
||||||
|
invFromDate: json["invFromDate"],
|
||||||
|
invToDate: json["invToDate"],
|
||||||
|
freightFromDate: json["freightFromDate"],
|
||||||
|
freightToDate: json["freightToDate"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"invoice_id": invoiceId,
|
||||||
|
"freightBillNo": freightBillNo,
|
||||||
|
"invFromDate": invFromDate,
|
||||||
|
"invToDate": invToDate,
|
||||||
|
"freightFromDate": freightFromDate,
|
||||||
|
"freightToDate": freightToDate,
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,8 +7,10 @@ import 'package:shayog/services/network/get_requests.dart';
|
||||||
import 'package:shayog/services/network/post_request.dart';
|
import 'package:shayog/services/network/post_request.dart';
|
||||||
import '../../../../../../components/common/common_model.dart';
|
import '../../../../../../components/common/common_model.dart';
|
||||||
import '../../../../../../components/styles/app_strings.dart';
|
import '../../../../../../components/styles/app_strings.dart';
|
||||||
|
import '../../../../../../services/network/post_request.dart';
|
||||||
|
import '../../model/get_invoice_response.dart';
|
||||||
|
|
||||||
class InvoiceManagementController extends GetxController {
|
class InvoiceManagementController extends GetxController{
|
||||||
var selectedState = 0.obs;
|
var selectedState = 0.obs;
|
||||||
Rx<String> selectedPlant = "Select Plant".obs;
|
Rx<String> selectedPlant = "Select Plant".obs;
|
||||||
Rx<String> selectedFreightBill = "Select Bill No.".obs;
|
Rx<String> selectedFreightBill = "Select Bill No.".obs;
|
||||||
|
@ -56,7 +58,7 @@ class InvoiceManagementController extends GetxController {
|
||||||
CommonModel(title: AppStrings.viewInvoice),
|
CommonModel(title: AppStrings.viewInvoice),
|
||||||
CommonModel(title: AppStrings.cancelledInvoice),
|
CommonModel(title: AppStrings.cancelledInvoice),
|
||||||
CommonModel(title: AppStrings.ccnView),
|
CommonModel(title: AppStrings.ccnView),
|
||||||
].obs; // Default value
|
].obs;// Default value
|
||||||
RxInt totalPages = 3.obs;
|
RxInt totalPages = 3.obs;
|
||||||
RxInt totalElements = 3.obs;
|
RxInt totalElements = 3.obs;
|
||||||
var pageSize = 2.obs;
|
var pageSize = 2.obs;
|
||||||
|
@ -71,7 +73,10 @@ class InvoiceManagementController extends GetxController {
|
||||||
TextEditingController fromController = TextEditingController();
|
TextEditingController fromController = TextEditingController();
|
||||||
DateTime fromSelectedDate = DateTime.now(); // Initialize with a default value
|
DateTime fromSelectedDate = DateTime.now(); // Initialize with a default value
|
||||||
RxBool dateCheck = false.obs;
|
RxBool dateCheck = false.obs;
|
||||||
|
// Validation variables
|
||||||
|
RxBool showPlantError = false.obs;
|
||||||
|
RxBool showProductError = false.obs;
|
||||||
|
RxBool showTransactionError = false.obs;
|
||||||
String getFormattedDate(DateTime date) {
|
String getFormattedDate(DateTime date) {
|
||||||
return "${date.day.toString().padLeft(2, '0')}-${date.month.toString()
|
return "${date.day.toString().padLeft(2, '0')}-${date.month.toString()
|
||||||
.padLeft(2, '0')}-${date.year}";
|
.padLeft(2, '0')}-${date.year}";
|
||||||
|
@ -86,10 +91,24 @@ class InvoiceManagementController extends GetxController {
|
||||||
// RxBool showProductErrorViewFreight = false.obs;
|
// RxBool showProductErrorViewFreight = false.obs;
|
||||||
var freightViewLoader = false.obs;
|
var freightViewLoader = false.obs;
|
||||||
var freightBillData = <FreightBill>[].obs;
|
var freightBillData = <FreightBill>[].obs;
|
||||||
|
RxBool isFilterVisibleGenerateFreight = false.obs;
|
||||||
|
var selectTransactionTypeFreight = ''.obs;
|
||||||
|
var selectProductFreight = ''.obs;
|
||||||
|
RxString selectPlantViewFreight = ''.obs;
|
||||||
|
var selectProductViewFreight = ''.obs;
|
||||||
|
RxString selectPlantPending = ''.obs;
|
||||||
|
var selectProductPending = ''.obs;
|
||||||
|
var selectLocationPending = ''.obs;
|
||||||
|
var selectTransactionTypePending = ''.obs;
|
||||||
|
RxBool showPlantErrorPending = false.obs;
|
||||||
|
RxBool showProductErrorPending = false.obs;
|
||||||
|
RxBool showTransactionErrorPending = false.obs;
|
||||||
|
|
||||||
void toggleContainer() {
|
void toggleFilter() {
|
||||||
isSelected.value = true;
|
isFilterVisibleGenerateFreight.value =
|
||||||
}
|
!isFilterVisibleGenerateFreight.value;
|
||||||
|
if (!isFilterVisibleGenerateFreight.value) {
|
||||||
|
clearFiltersGenerateFreightBill(); }}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
@ -98,8 +117,29 @@ class InvoiceManagementController extends GetxController {
|
||||||
getFreightBills();
|
getFreightBills();
|
||||||
super.onInit();
|
super.onInit();
|
||||||
}
|
}
|
||||||
|
void clearFiltersGenerateFreightBill() {
|
||||||
|
selectPlantFreight.value = '';
|
||||||
|
selectProductFreight.value = '';
|
||||||
|
selectTransactionTypeFreight.value = '';
|
||||||
|
fromController.clear();
|
||||||
|
showPlantError.value = false;
|
||||||
|
showProductError.value = false;
|
||||||
|
showTransactionError.value = false;
|
||||||
|
}
|
||||||
|
void toggleViewFreight() {
|
||||||
|
isFilterVisibleViewFreight.value = !isFilterVisibleViewFreight.value;
|
||||||
|
if (!isFilterVisibleViewFreight.value) {
|
||||||
|
clearFiltersViewFreight();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void togglePending() {
|
||||||
|
isFilterVisiblePendingGeneration.value =
|
||||||
|
!isFilterVisiblePendingGeneration.value;
|
||||||
|
if (!isFilterVisiblePendingGeneration.value) {
|
||||||
|
clearFiltersPendingGeneration();
|
||||||
|
}
|
||||||
|
}
|
||||||
getInvoiceView() async {
|
getInvoiceView() async {
|
||||||
try {
|
try {
|
||||||
invoiceViewLoader.value = true;
|
invoiceViewLoader.value = true;
|
||||||
|
@ -128,7 +168,6 @@ class InvoiceManagementController extends GetxController {
|
||||||
invoiceViewLoader.value = false;
|
invoiceViewLoader.value = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void changeSort(String field) {
|
void changeSort(String field) {
|
||||||
if (field == sortField.value) {
|
if (field == sortField.value) {
|
||||||
sortDirection.value = sortDirection.value == "asc" ? "desc" : "asc";
|
sortDirection.value = sortDirection.value == "asc" ? "desc" : "asc";
|
||||||
|
@ -142,7 +181,28 @@ class InvoiceManagementController extends GetxController {
|
||||||
RxBool showPlantErrorFreight = false.obs;
|
RxBool showPlantErrorFreight = false.obs;
|
||||||
RxBool showProductErrorFreight = false.obs;
|
RxBool showProductErrorFreight = false.obs;
|
||||||
RxString selectPlantFreight = ''.obs;
|
RxString selectPlantFreight = ''.obs;
|
||||||
|
RxBool isFilterVisibleViewFreight = false.obs;
|
||||||
|
RxBool isFilterVisiblePendingGeneration = false.obs;
|
||||||
|
RxBool showPlantErrorViewFreight = false.obs;
|
||||||
|
RxBool showProductErrorViewFreight = false.obs;
|
||||||
|
void clearFiltersViewFreight() {
|
||||||
|
selectPlantViewFreight.value = '';
|
||||||
|
selectProductViewFreight.value = '';
|
||||||
|
selectFreightBillValidate.value = '';
|
||||||
|
fromController.clear();
|
||||||
|
showPlantErrorViewFreight.value = false;
|
||||||
|
showProductErrorViewFreight.value = false;
|
||||||
|
showTransactionErrorViewFreight.value = false;
|
||||||
|
}
|
||||||
|
void clearFiltersPendingGeneration() {
|
||||||
|
selectPlantPending.value = '';
|
||||||
|
selectProductPending.value = '';
|
||||||
|
selectTransactionTypePending.value = '';
|
||||||
|
fromController.clear();
|
||||||
|
showPlantErrorPending.value = false;
|
||||||
|
showProductErrorPending.value = false;
|
||||||
|
showTransactionErrorPending.value = false;
|
||||||
|
}
|
||||||
getFreightBills() async {
|
getFreightBills() async {
|
||||||
try {
|
try {
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
|
@ -157,93 +217,7 @@ class InvoiceManagementController extends GetxController {
|
||||||
} finally {
|
} finally {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
isLoading.value = false;
|
isLoading.value = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// void clearFiltersViewFreight() {
|
|
||||||
// selectPlantViewFreight.value = '';
|
|
||||||
// selectProductViewFreight.value = '';
|
|
||||||
// selectFreightBillValidate.value = '';
|
|
||||||
// fromController.clear();
|
|
||||||
// showPlantErrorViewFreight.value = false;
|
|
||||||
// showProductErrorViewFreight.value = false;
|
|
||||||
// showTransactionErrorViewFreight.value = false;
|
|
||||||
// }
|
|
||||||
// void handleFilterSubmitViewFreightBill() {
|
|
||||||
// print('submit call');
|
|
||||||
// validateFieldsViewFreightBill();
|
|
||||||
// if (selectPlantViewFreight.value.isEmpty ||
|
|
||||||
// selectProductViewFreight.value.isEmpty
|
|
||||||
// // ||
|
|
||||||
// // selectTransactionTypeViewFreight.value.isEmpty
|
|
||||||
// ) {
|
|
||||||
// print('submit call 22');
|
|
||||||
// } else {
|
|
||||||
// print('submit call 1');
|
|
||||||
// displayFilteredDataFromViewFreight();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// void validateFieldsViewFreightBill() {
|
|
||||||
// showPlantErrorViewFreight.value = selectPlantViewFreight.value.isEmpty;
|
|
||||||
// showTransactionErrorViewFreight.value =
|
|
||||||
// selectFreightBillValidate.value.isEmpty;
|
|
||||||
// showProductErrorViewFreight.value = selectProductViewFreight.value.isEmpty;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void displayFilteredDataFromViewFreight() async {
|
|
||||||
// try {
|
|
||||||
// freightViewLoader.value = true;
|
|
||||||
// Map<String, String> requestBody = {
|
|
||||||
// "plant": selectPlantViewFreight.value,
|
|
||||||
// "productNane": selectProductViewFreight.value,
|
|
||||||
// "freightBillNo": selectFreightBillValidate.value,
|
|
||||||
// "transactionType": "",
|
|
||||||
// "fromLocation": "",
|
|
||||||
// "grnFromDate": "",
|
|
||||||
// "grnToDate": "",
|
|
||||||
// };
|
|
||||||
//
|
|
||||||
// var response = await PostRequests.viewFreightBill(requestBody);
|
|
||||||
//
|
|
||||||
// if (response != null) {
|
|
||||||
// List<FreightBill> flattenedContent =
|
|
||||||
// response.content!.expand((list) => list).toList();
|
|
||||||
//
|
|
||||||
// List<FreightBill> filteredData = flattenedContent.where((item) {
|
|
||||||
// // Plant filter
|
|
||||||
// bool plantMatch = selectPlantViewFreight.value.isEmpty ||
|
|
||||||
// item.plantCode.toString().toLowerCase() ==
|
|
||||||
// selectPlantViewFreight.value.toLowerCase();
|
|
||||||
//
|
|
||||||
// // Product filter
|
|
||||||
// bool productMatch = selectProductViewFreight.value.isEmpty ||
|
|
||||||
// item.materialCode.toString().toLowerCase() ==
|
|
||||||
// selectProductViewFreight.value.toLowerCase();
|
|
||||||
//
|
|
||||||
// // Freight bill filter
|
|
||||||
// bool freightBillMatch = selectFreightBillValidate.value.isEmpty ||
|
|
||||||
// item.freightbillCode.toString().toLowerCase() ==
|
|
||||||
// selectFreightBillValidate.value.toLowerCase();
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// return plantMatch && productMatch && freightBillMatch;
|
|
||||||
// }).toList();
|
|
||||||
// freightBillData.assignAll(filteredData);
|
|
||||||
//
|
|
||||||
// // Update pagination values
|
|
||||||
// totalPages.value = response.totalPages ?? 0;
|
|
||||||
// totalElements.value = response.totalElements ?? 0;
|
|
||||||
// } else {
|
|
||||||
// freightBillData.clear();
|
|
||||||
// }
|
|
||||||
// } catch (e) {
|
|
||||||
// freightBillData.clear();
|
|
||||||
// } finally {
|
|
||||||
// freightViewLoader.value = false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:shayog/components/styles/textStyles.dart';
|
import 'package:shayog/components/styles/textStyles.dart';
|
||||||
import 'package:shayog/feature/presentation/screens/transporter/invoice_management/cancelled_view/cancelled_view_screen.dart';
|
import 'package:sizer/sizer.dart';
|
||||||
import 'package:shayog/feature/presentation/screens/transporter/invoice_management/ccn_view/ccn_view_screen.dart';
|
import 'package:vph_web_date_picker/vph_web_date_picker.dart';
|
||||||
import 'package:shayog/feature/presentation/screens/transporter/invoice_management/payment_view/payment_view_screen.dart';
|
|
||||||
import 'package:shayog/feature/presentation/screens/transporter/invoice_management/view_invoice/view_invoice_screen.dart';
|
import '../../../../../../components/common/common_btn.dart';
|
||||||
import 'package:shayog/feature/presentation/widgets/text_view.dart';
|
import '../../../../../../components/common/common_button.dart';
|
||||||
|
import '../../../../../../components/common/custom_drop_down.dart';
|
||||||
|
import '../../../../../../components/common/data_cell.dart';
|
||||||
|
import '../../../../../../components/common/input_field.dart';
|
||||||
import '../../../../../../components/styles/app_colors.dart';
|
import '../../../../../../components/styles/app_colors.dart';
|
||||||
import '../../../../../../components/styles/app_images.dart';
|
import '../../../../../../components/styles/app_images.dart';
|
||||||
import '../../../../../../components/styles/app_strings.dart';
|
import '../../../../../../components/styles/app_strings.dart';
|
||||||
|
import '../../../../widgets/text_view.dart';
|
||||||
|
import '../../invoice_management/ccn_view/ccn_view_screen.dart';
|
||||||
import '../../invoice_management/payment_view/ctrl/payment_view_ctrl.dart';
|
import '../../invoice_management/payment_view/ctrl/payment_view_ctrl.dart';
|
||||||
|
import '../../invoice_management/cancelled_view/cancelled_view_screen.dart';
|
||||||
|
import '../../invoice_management/payment_view/payment_view_screen.dart';
|
||||||
import '../ctrl/invoice_management_controller.dart';
|
import '../ctrl/invoice_management_controller.dart';
|
||||||
|
|
||||||
class InvoiceManagement extends StatefulWidget {
|
class InvoiceManagement extends StatefulWidget {
|
||||||
|
@ -20,6 +32,8 @@ class InvoiceManagement extends StatefulWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
class _TransportViewState extends State<InvoiceManagement> {
|
class _TransportViewState extends State<InvoiceManagement> {
|
||||||
|
final ScrollController horizontalScrollController = ScrollController();
|
||||||
|
final ScrollController verticalScrollController = ScrollController();
|
||||||
final ctrl = Get.put(InvoiceManagementController());
|
final ctrl = Get.put(InvoiceManagementController());
|
||||||
final paymentCtrl = Get.put(PaymentViewCtrl());
|
final paymentCtrl = Get.put(PaymentViewCtrl());
|
||||||
@override
|
@override
|
||||||
|
@ -27,87 +41,331 @@ class _TransportViewState extends State<InvoiceManagement> {
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
padding: EdgeInsets.only(bottom: 4),
|
||||||
height: 50,
|
margin: EdgeInsets.all(16),
|
||||||
color: AppColors.primaryClr,
|
child: Column(
|
||||||
child: Row(
|
|
||||||
children: [
|
children: [
|
||||||
ListView.separated(
|
Container(
|
||||||
shrinkWrap: true,
|
margin: EdgeInsets.only(bottom: 12),
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
height: 55,
|
||||||
scrollDirection: Axis.horizontal,
|
color: AppColors.primaryClr,
|
||||||
itemBuilder: (context, index) {
|
child: Row(
|
||||||
return Obx(
|
children: [
|
||||||
() => InkWell(
|
ListView.separated(
|
||||||
onTap: () {
|
padding: EdgeInsets.symmetric(horizontal: 16),
|
||||||
ctrl.selectedState.value = index;
|
scrollDirection: Axis.horizontal,
|
||||||
},
|
shrinkWrap: true,
|
||||||
child: Container(
|
itemBuilder: (context, index) {
|
||||||
margin: EdgeInsets.only(bottom: 10, top: 10),
|
return Obx(
|
||||||
decoration: BoxDecoration(
|
() => InkWell(
|
||||||
border: Border(
|
onTap: () {
|
||||||
bottom: BorderSide(
|
ctrl.selectedState.value = index;
|
||||||
color: ctrl.selectedState.value == index
|
},
|
||||||
? Colors.white
|
child: Container(
|
||||||
: AppColors.primaryClr,
|
margin: EdgeInsets.only(bottom: 10, top: 10),
|
||||||
width: 3))),
|
decoration: BoxDecoration(
|
||||||
child: Center(
|
border: Border(
|
||||||
child: TextView(
|
bottom: BorderSide(
|
||||||
text: ctrl.invoiceTabs[index].title ?? "",
|
color: ctrl.selectedState.value ==
|
||||||
style: 12.txtBoldWhite,
|
index
|
||||||
),
|
? Colors.white
|
||||||
),
|
: AppColors.primaryClr,
|
||||||
|
width: 3))),
|
||||||
|
child: Center(
|
||||||
|
child: Text(
|
||||||
|
ctrl.userTabs[index].title ?? "",
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
fontWeight: FontWeight.w900,
|
||||||
|
color: Colors.white),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
separatorBuilder: (context, index) {
|
||||||
|
return SizedBox(width: 16);
|
||||||
|
},
|
||||||
|
itemCount: ctrl.userTabs.length),
|
||||||
|
Spacer(),
|
||||||
|
InkWell(
|
||||||
|
child: Image.asset(AppImages.refresh,
|
||||||
|
height: 10, width: 10)),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Text(
|
||||||
|
AppStrings.refresh,
|
||||||
|
style: TextStyle(
|
||||||
|
color: AppColors.white,
|
||||||
|
fontSize: 10,
|
||||||
|
fontWeight: FontWeight.normal),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
GestureDetector(
|
||||||
},
|
behavior: HitTestBehavior.translucent,
|
||||||
separatorBuilder: (context, index) {
|
onTap: () {
|
||||||
return SizedBox(width: 16);
|
print("cdgsa");
|
||||||
},
|
ctrl.isSelected.value = !ctrl.isSelected.value;
|
||||||
itemCount: ctrl.invoiceTabs.length,
|
// if (ctrl.isSelected.value == 0) {
|
||||||
),
|
// ctrl.toggleFilter();
|
||||||
Spacer(),
|
// } else if (ctrl.isSelected.value == 1) {
|
||||||
InkWell(
|
// ctrl.toggleViewFreight();
|
||||||
onTap: (){
|
// } else if (ctrl.isSelected.value == 2) {
|
||||||
paymentCtrl.resetDropdowns();
|
// ctrl.togglePending();
|
||||||
},
|
// }
|
||||||
child: Image.asset(AppImages.refresh, height: 16, width: 16)),
|
},
|
||||||
Padding(
|
child: Row(
|
||||||
padding: const EdgeInsets.all(8.0),
|
children: [
|
||||||
child: Text(
|
Image.asset(AppImages.filter,
|
||||||
AppStrings.refresh,
|
height: 16, width: 16),
|
||||||
style: 12.txtBoldWhite,
|
Padding(
|
||||||
),
|
padding: const EdgeInsets.all(8.0),
|
||||||
),
|
child: TextView(
|
||||||
InkWell(
|
text: AppStrings.filter,
|
||||||
onTap: () {
|
style: 12.txtBoldWhite,
|
||||||
switch (ctrl.selectedState.value) {
|
),
|
||||||
case 0:
|
),
|
||||||
return ctrl.invoiceFilter();
|
],
|
||||||
case 1:
|
),
|
||||||
return ctrl.cancelledFilter();
|
),
|
||||||
case 2:
|
],
|
||||||
return ctrl.paymentFilter();
|
|
||||||
default:
|
|
||||||
return ctrl.ccnFilter();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
child: Image.asset(AppImages.filter, height: 16, width: 16),
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.all(8.0),
|
|
||||||
child: TextView(
|
|
||||||
text: AppStrings.filter,
|
|
||||||
style: 12.txtBoldWhite,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
Obx(
|
||||||
|
() => ctrl.isSelected.value
|
||||||
|
? Container(
|
||||||
|
padding: EdgeInsets.all(8),
|
||||||
|
color: AppColors.clrF2,
|
||||||
|
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
TextView(text: "Plant", isRequired: true),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
CustomDropdown(
|
||||||
|
backClr: AppColors.clrD9,
|
||||||
|
borderClr: AppColors.clrGrey,
|
||||||
|
items: ctrl.plant,
|
||||||
|
|
||||||
|
itemLabel: (item) =>
|
||||||
|
"${item.plantCode} - ${item.plantDesc}",
|
||||||
|
onSelected: (selected) {
|
||||||
|
if (selected != null) {
|
||||||
|
ctrl.selectPlantFreight.value =
|
||||||
|
selected.plantCode ?? "";
|
||||||
|
ctrl.showPlantErrorFreight.value =
|
||||||
|
false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hintText: "Select Plant",
|
||||||
|
),
|
||||||
|
Obx(() =>
|
||||||
|
ctrl.showPlantErrorFreight.value
|
||||||
|
? Text(
|
||||||
|
'Required',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.red,
|
||||||
|
fontSize: 12),
|
||||||
|
)
|
||||||
|
: Text('')),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
TextView(text: "Freight Bill Date",isRequired: true,),
|
||||||
|
Container(
|
||||||
|
height: 35,
|
||||||
|
child: TextFormField(
|
||||||
|
key: ctrl.fromTextFieldKey,
|
||||||
|
controller: ctrl.fromController,
|
||||||
|
onTap: () async {
|
||||||
|
final pickedDate =
|
||||||
|
await showWebDatePicker(
|
||||||
|
width: 20.w,
|
||||||
|
context: ctrl
|
||||||
|
.fromTextFieldKey.currentContext!,
|
||||||
|
initialDate:
|
||||||
|
ctrl.fromSelectedDate,
|
||||||
|
firstDate: DateTime(2000),
|
||||||
|
lastDate: DateTime.now(),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (pickedDate != null) {
|
||||||
|
ctrl.fromSelectedDate =
|
||||||
|
pickedDate;
|
||||||
|
String formattedDate = ctrl
|
||||||
|
.getFormattedDate(pickedDate);
|
||||||
|
ctrl.fromController.text =
|
||||||
|
formattedDate;
|
||||||
|
ctrl.dateCheck.value = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
decoration: InputDecoration(
|
||||||
|
fillColor: AppColors.clrD9,
|
||||||
|
filled: true,
|
||||||
|
hintText: 'Select Freight Bill Date ',
|
||||||
|
hintStyle: TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
overflow: TextOverflow.ellipsis),
|
||||||
|
border: OutlineInputBorder(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(2.0),
|
||||||
|
borderSide:
|
||||||
|
BorderSide(color: AppColors.black),
|
||||||
|
),
|
||||||
|
enabledBorder: OutlineInputBorder(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(2.0),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: AppColors.clrGrey),
|
||||||
|
),
|
||||||
|
focusedBorder: OutlineInputBorder(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(2.0),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: AppColors.clrGrey),
|
||||||
|
),
|
||||||
|
disabledBorder: OutlineInputBorder(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(2.0),
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: AppColors.clrGrey),
|
||||||
|
),
|
||||||
|
suffixIcon: ctrl.dateCheck.value
|
||||||
|
? InkWell(
|
||||||
|
onTap: () {
|
||||||
|
ctrl.dateCheck.value =
|
||||||
|
false;
|
||||||
|
ctrl.fromController
|
||||||
|
.clear();
|
||||||
|
ctrl.fromSelectedDate =
|
||||||
|
DateTime.now();
|
||||||
|
},
|
||||||
|
child: Icon(Icons.close,
|
||||||
|
size: 1.2.w),
|
||||||
|
)
|
||||||
|
: null,
|
||||||
|
contentPadding:
|
||||||
|
const EdgeInsets.symmetric(
|
||||||
|
horizontal: 12.0, vertical: 0.0),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(width: 16),
|
||||||
|
Expanded(
|
||||||
|
child: Column(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
TextView(
|
||||||
|
text: "Freight Bill No.", isRequired: true),
|
||||||
|
SizedBox(height: 8),
|
||||||
|
CustomDropdown<String>(
|
||||||
|
backClr: AppColors.clrD9,
|
||||||
|
borderClr: AppColors.clrGrey,
|
||||||
|
items: ctrl.freightBill,
|
||||||
|
itemLabel: (item) => item,
|
||||||
|
onSelected: (selected) {
|
||||||
|
if (selected != null) {
|
||||||
|
ctrl.selectFreightBillValidate.value =
|
||||||
|
selected;
|
||||||
|
ctrl.showTransactionErrorViewFreight
|
||||||
|
.value = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
hintText: "Select Freight Bill No.",
|
||||||
|
),
|
||||||
|
Obx(() => ctrl
|
||||||
|
.showTransactionErrorViewFreight.value
|
||||||
|
? Text(
|
||||||
|
'Required',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.red, fontSize: 12),
|
||||||
|
)
|
||||||
|
: Text('')),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
// Padding(
|
||||||
|
// padding:
|
||||||
|
// const EdgeInsets.only(top: 16.0, left: 0, right: 8),
|
||||||
|
// child: Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// child: Column(
|
||||||
|
// mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
// children: [
|
||||||
|
// _commonText(
|
||||||
|
// "Freight Bill Date",
|
||||||
|
// ),
|
||||||
|
// SizedBox(height: 8),
|
||||||
|
// InputField(
|
||||||
|
// title: "Select Bill Date",
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// )),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Expanded(
|
||||||
|
// //flex: 2,
|
||||||
|
// child: Column(
|
||||||
|
// children: [
|
||||||
|
// TextView(
|
||||||
|
// text: "",
|
||||||
|
// ),
|
||||||
|
// Padding(
|
||||||
|
// padding: const EdgeInsets.only(top: 8.0),
|
||||||
|
// child: Row(
|
||||||
|
// mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
// children: [
|
||||||
|
// CommonBtn(
|
||||||
|
// bkClr: Colors.white,
|
||||||
|
// text: AppStrings.cancel,
|
||||||
|
// clickAction: () {},
|
||||||
|
// ),
|
||||||
|
// SizedBox(width: 16),
|
||||||
|
// CommonBtn(
|
||||||
|
// text: AppStrings.submit,
|
||||||
|
// clickAction: () {},
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: SizedBox(),
|
||||||
|
),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
switch (ctrl.selectedState.value) {
|
switch (ctrl.selectedState.value) {
|
||||||
case 0:
|
case 0:
|
||||||
return ViewInvoice();
|
return _tableView();
|
||||||
case 1:
|
case 1:
|
||||||
return CancelledView();
|
return CancelledView();
|
||||||
case 2:
|
case 2:
|
||||||
|
@ -119,4 +377,213 @@ class _TransportViewState extends State<InvoiceManagement> {
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_tableView() {
|
||||||
|
return Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Scrollbar(
|
||||||
|
thumbVisibility: true,
|
||||||
|
controller: verticalScrollController,
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
controller: verticalScrollController,
|
||||||
|
child: Scrollbar(
|
||||||
|
thumbVisibility: true,
|
||||||
|
controller: horizontalScrollController,
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
controller: horizontalScrollController,
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(
|
||||||
|
color: Colors.grey.shade400,
|
||||||
|
width: 1.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: DataTable(
|
||||||
|
dataRowHeight: 40,
|
||||||
|
headingRowHeight: 40,
|
||||||
|
headingRowColor: WidgetStateProperty.all(AppColors.clrF2),
|
||||||
|
border: TableBorder(
|
||||||
|
horizontalInside: BorderSide(color: AppColors.clrGrey),
|
||||||
|
verticalInside: BorderSide(color: AppColors.clrGrey),
|
||||||
|
bottom: BorderSide(color: AppColors.clrGrey),
|
||||||
|
left: BorderSide(color: AppColors.clrGrey),
|
||||||
|
right: BorderSide(color: AppColors.clrGrey),
|
||||||
|
top: BorderSide(color: AppColors.clrGrey),
|
||||||
|
),
|
||||||
|
columns: [
|
||||||
|
dataColumn(" SAP Reference No."),
|
||||||
|
//dataColumn(AppStrings.productName, onSort: (_, __) => ctrl.changeSort(AppStrings.productName.toLowerCase())),
|
||||||
|
dataColumn("Freight Bill No."),
|
||||||
|
//dataColumn(AppStrings.getInvoiceDate),
|
||||||
|
dataColumn("Freight Bill date"),
|
||||||
|
dataColumn("Plant Code/Plant Desc."),
|
||||||
|
dataColumn("Material Code/Material Desc."),
|
||||||
|
dataColumn("Freight Bill Amount"),
|
||||||
|
dataColumn("GST Amount"),
|
||||||
|
dataColumn("Status"),
|
||||||
|
dataColumn("CCN Amount"),
|
||||||
|
dataColumn("View CCN"),
|
||||||
|
dataColumn("View Invoice"),
|
||||||
|
dataColumn("Add Signature"),
|
||||||
|
],
|
||||||
|
rows: List<DataRow>.generate(ctrl.getInvoiceData.length,
|
||||||
|
(index) {
|
||||||
|
final getInvoice = ctrl.getInvoiceData[index];
|
||||||
|
return DataRow(
|
||||||
|
cells: [
|
||||||
|
editableCell(index, "${getInvoice.sapReferenceno}"),
|
||||||
|
editableCell(index, getInvoice.freightbillCode),
|
||||||
|
editableCell(
|
||||||
|
index,
|
||||||
|
DateFormat("dd MMMM yyyy").format(
|
||||||
|
DateTime.parse('${getInvoice.createdOn}'))),
|
||||||
|
editableCell(index, "${getInvoice.plantCode} - ${getInvoice.plantDesc}",),
|
||||||
|
editableCell(index, "${getInvoice.materialCode} - ${getInvoice.materialDescription}",),
|
||||||
|
editableCell(index, (getInvoice.shipmentCost.toString() ?? "-")),
|
||||||
|
editableCell(
|
||||||
|
index, "-"),
|
||||||
|
editableCell(index, getInvoice.status.toUpperCase()),
|
||||||
|
editableCell(index,"-"),
|
||||||
|
editableCell(index, "-"),
|
||||||
|
editableCell(index, "View Invoice",isLink: true),
|
||||||
|
DataCell(
|
||||||
|
Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.all(4),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(color: Colors.blue),
|
||||||
|
borderRadius: BorderRadius.circular(4),
|
||||||
|
),
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () { },
|
||||||
|
child: Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Icon(Icons.download,
|
||||||
|
size: 16, color: Colors.blue),
|
||||||
|
SizedBox(width: 4),
|
||||||
|
Text('Download',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.blue,
|
||||||
|
fontSize: 12)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(width: 8),
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.all(4),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(color: Colors.blue),
|
||||||
|
borderRadius: BorderRadius.circular(4),
|
||||||
|
),
|
||||||
|
child: InkWell(
|
||||||
|
onTap: () => handleFileUpload(index),
|
||||||
|
child: Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Icon(Icons.upload,
|
||||||
|
size: 16, color: Colors.blue),
|
||||||
|
SizedBox(width: 4),
|
||||||
|
Text('Upload',
|
||||||
|
style: TextStyle(
|
||||||
|
color: Colors.blue,
|
||||||
|
fontSize: 12)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
//###################### This Function is used to close or cut uploaded File in Local #######################
|
||||||
|
// if (uploadedFiles.containsKey(index))
|
||||||
|
// IconButton(
|
||||||
|
// icon: Icon(Icons.close, size: 16, color: Colors.red),
|
||||||
|
// onPressed: () {
|
||||||
|
// setState(() {
|
||||||
|
// uploadedFiles.remove(index);
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
|
||||||
|
//###########################################################################################################
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// CustomPagination(
|
||||||
|
// currentPage: controller.currentPage.value,
|
||||||
|
// totalPages: controller.totalPages.value,
|
||||||
|
// onPageChanged: (int page) {
|
||||||
|
// controller.onPageChanged(page);
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> handleFileUpload(int index) async {
|
||||||
|
try {
|
||||||
|
FilePickerResult? result = await FilePicker.platform.pickFiles(
|
||||||
|
type: FileType.custom,
|
||||||
|
allowedExtensions: ['pdf', 'doc', 'docx', 'xlsx', 'xls'],
|
||||||
|
allowMultiple: false,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (result != null) {
|
||||||
|
PlatformFile file = result.files.first;
|
||||||
|
|
||||||
|
// Validate file size (optional)
|
||||||
|
if (file.size > 10 * 1024 * 1024) { // 10MB limit
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text('File size must be less than 10MB'),
|
||||||
|
backgroundColor: Colors.red,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
final appDir = await getApplicationDocumentsDirectory();
|
||||||
|
final String filePath = '${appDir.path}/${file.name}';
|
||||||
|
File(file.path!).copy(filePath);
|
||||||
|
setState(() {
|
||||||
|
//uploadedFiles[index] = file.name;
|
||||||
|
});
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text('File uploaded: ${file.name}'),
|
||||||
|
backgroundColor: Colors.green,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text('Error uploading file: ${e.toString()}'),
|
||||||
|
backgroundColor: Colors.red,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_commonText(String title) {
|
||||||
|
return Text(
|
||||||
|
title,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 13, color: Colors.black, fontWeight: FontWeight.w900),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,253 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class DropdownDateRange extends StatefulWidget {
|
||||||
|
@override
|
||||||
|
_DropdownDateRangeState createState() => _DropdownDateRangeState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _DropdownDateRangeState extends State<DropdownDateRange> {
|
||||||
|
bool isCalendarVisible = false;
|
||||||
|
DateTime selectedStartDate = DateTime.now();
|
||||||
|
DateTime selectedEndDate = DateTime.now().add(Duration(days: 5));
|
||||||
|
DateTime displayedStartMonth = DateTime.now();
|
||||||
|
DateTime displayedEndMonth = DateTime.now().add(Duration(days: 60));
|
||||||
|
|
||||||
|
List<String> weekdays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
|
||||||
|
List<String> months = [
|
||||||
|
'January', 'February', 'March', 'April', 'May', 'June',
|
||||||
|
'July', 'August', 'September', 'October', 'November', 'December'
|
||||||
|
];
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Material(
|
||||||
|
color: Colors.transparent,
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
// Clickable Container
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
isCalendarVisible = !isCalendarVisible;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 12),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(4),
|
||||||
|
border: Border.all(color: Colors.grey.shade300),
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
'${selectedStartDate.day} ${months[selectedStartDate.month - 1]} ${selectedStartDate.year} - '
|
||||||
|
'${selectedEndDate.day} ${months[selectedEndDate.month - 1]} ${selectedEndDate.year}',
|
||||||
|
style: TextStyle(fontSize: 14),
|
||||||
|
),
|
||||||
|
SizedBox(width: 8),
|
||||||
|
Icon(Icons.arrow_drop_down),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
// Dropdown Calendar
|
||||||
|
if (isCalendarVisible)
|
||||||
|
Container(
|
||||||
|
margin: EdgeInsets.only(top: 8),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
boxShadow: [
|
||||||
|
BoxShadow(
|
||||||
|
color: Colors.grey.withOpacity(0.2),
|
||||||
|
spreadRadius: 1,
|
||||||
|
blurRadius: 8,
|
||||||
|
offset: Offset(0, 4),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.all(16),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
_buildCalendar(displayedStartMonth, true),
|
||||||
|
SizedBox(width: 32),
|
||||||
|
_buildCalendar(displayedEndMonth, false),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget _buildCalendar(DateTime displayedMonth, bool isStartCalendar) {
|
||||||
|
return Container(
|
||||||
|
width: 280,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: Colors.white,
|
||||||
|
borderRadius: BorderRadius.circular(8),
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
// Month Header
|
||||||
|
Padding(
|
||||||
|
padding: EdgeInsets.all(8),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
IconButton(
|
||||||
|
icon: Icon(Icons.chevron_left),
|
||||||
|
onPressed: () {
|
||||||
|
setState(() {
|
||||||
|
if (isStartCalendar) {
|
||||||
|
displayedStartMonth = DateTime(
|
||||||
|
displayedStartMonth.year,
|
||||||
|
displayedStartMonth.month - 1,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
displayedEndMonth = DateTime(
|
||||||
|
displayedEndMonth.year,
|
||||||
|
displayedEndMonth.month - 1,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
'${months[displayedMonth.month - 1]} (${displayedMonth.year})',
|
||||||
|
style: TextStyle(fontWeight: FontWeight.bold),
|
||||||
|
),
|
||||||
|
IconButton(
|
||||||
|
icon: Icon(Icons.chevron_right),
|
||||||
|
onPressed: () {
|
||||||
|
setState(() {
|
||||||
|
if (isStartCalendar) {
|
||||||
|
displayedStartMonth = DateTime(
|
||||||
|
displayedStartMonth.year,
|
||||||
|
displayedStartMonth.month + 1,
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
displayedEndMonth = DateTime(
|
||||||
|
displayedEndMonth.year,
|
||||||
|
displayedEndMonth.month + 1,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
// Weekday Headers
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: weekdays.map((day) =>
|
||||||
|
Container(
|
||||||
|
width: 32,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
child: Text(
|
||||||
|
day,
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 12,
|
||||||
|
color: Colors.grey[600],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
).toList(),
|
||||||
|
),
|
||||||
|
|
||||||
|
// Calendar Grid
|
||||||
|
Container(
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 8),
|
||||||
|
child: Column(
|
||||||
|
children: _buildCalendarDays(displayedMonth),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Widget> _buildCalendarDays(DateTime displayedMonth) {
|
||||||
|
List<Widget> weeks = [];
|
||||||
|
DateTime firstDay = DateTime(displayedMonth.year, displayedMonth.month, 1);
|
||||||
|
int daysInMonth = DateTime(displayedMonth.year, displayedMonth.month + 1, 0).day;
|
||||||
|
|
||||||
|
int firstWeekdayOfMonth = firstDay.weekday;
|
||||||
|
int currentDay = 1 - firstWeekdayOfMonth + 1;
|
||||||
|
|
||||||
|
for (int week = 0; week < 6; week++) {
|
||||||
|
List<Widget> days = [];
|
||||||
|
|
||||||
|
for (int i = 0; i < 7; i++) {
|
||||||
|
if (currentDay <= 0 || currentDay > daysInMonth) {
|
||||||
|
days.add(Container(width: 32, height: 32));
|
||||||
|
} else {
|
||||||
|
final date = DateTime(displayedMonth.year, displayedMonth.month, currentDay);
|
||||||
|
final isSelected = date.isAfter(selectedStartDate.subtract(Duration(days: 1))) &&
|
||||||
|
date.isBefore(selectedEndDate.add(Duration(days: 1)));
|
||||||
|
final isToday = date.year == DateTime.now().year &&
|
||||||
|
date.month == DateTime.now().month &&
|
||||||
|
date.day == DateTime.now().day;
|
||||||
|
|
||||||
|
days.add(
|
||||||
|
GestureDetector(
|
||||||
|
onTap: () {
|
||||||
|
setState(() {
|
||||||
|
if (date.isBefore(selectedEndDate)) {
|
||||||
|
selectedStartDate = date;
|
||||||
|
} else {
|
||||||
|
selectedEndDate = date;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
width: 32,
|
||||||
|
height: 32,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: isSelected ? Colors.blue : Colors.transparent,
|
||||||
|
borderRadius: BorderRadius.circular(16),
|
||||||
|
border: isToday ? Border.all(color: Colors.blue) : null,
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
currentDay.toString(),
|
||||||
|
style: TextStyle(
|
||||||
|
color: isSelected ? Colors.white : Colors.black,
|
||||||
|
fontWeight: isToday ? FontWeight.bold : FontWeight.normal,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
currentDay++;
|
||||||
|
}
|
||||||
|
|
||||||
|
weeks.add(
|
||||||
|
Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
|
children: days,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return weeks;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:shayog/components/styles/textStyles.dart';
|
import 'package:shayog/components/styles/textStyles.dart';
|
||||||
import 'dart:math' as math;
|
import 'dart:math' as math;
|
||||||
|
|
|
@ -17,7 +17,7 @@ class MyApp extends StatelessWidget {
|
||||||
return GetMaterialApp(
|
return GetMaterialApp(
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
title: 'Shayog',
|
title: 'Shayog',
|
||||||
initialRoute: PageRoutes.login,
|
initialRoute: PageRoutes.dashboard,
|
||||||
onGenerateRoute: Navigation.onGenerateRoutes,
|
onGenerateRoute: Navigation.onGenerateRoutes,
|
||||||
// home: DashboardScreen(),
|
// home: DashboardScreen(),
|
||||||
);
|
);
|
||||||
|
|
|
@ -2,7 +2,6 @@ import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:shayog/services/prefrences/prefrences.dart';
|
|
||||||
import 'package:shayog/utils/helpers.dart';
|
import 'package:shayog/utils/helpers.dart';
|
||||||
import '../../utils/alert_service.dart';
|
import '../../utils/alert_service.dart';
|
||||||
import '../model/common_res_model.dart';
|
import '../model/common_res_model.dart';
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// import 'package:shared_preferences/shared_preferences.dart';
|
||||||
//
|
//
|
||||||
// class Preferences {
|
// class Preferences {
|
||||||
//
|
//
|
||||||
|
@ -14,6 +16,13 @@
|
||||||
// static const prefKeyParent = 'pref_key_parent';
|
// static const prefKeyParent = 'pref_key_parent';
|
||||||
// static const userRoleKey = 'pref_key_user_role';
|
// static const userRoleKey = 'pref_key_user_role';
|
||||||
//
|
//
|
||||||
|
|
||||||
|
// // static late SharedPreferences _prefs;
|
||||||
|
//
|
||||||
|
// // static Future createInstance() async {
|
||||||
|
// // _prefs = await SharedPreferences.getInstance();
|
||||||
|
// // return;
|
||||||
|
// // }
|
||||||
// static late SharedPreferences _prefs;
|
// static late SharedPreferences _prefs;
|
||||||
//
|
//
|
||||||
// static Future createInstance() async {
|
// static Future createInstance() async {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:intl/intl.dart';
|
||||||
|
|
||||||
class Helpers {
|
class Helpers {
|
||||||
Helpers._();
|
Helpers._();
|
||||||
|
@ -21,6 +22,11 @@ class Helpers {
|
||||||
return code >= 200 && code < 300;
|
return code >= 200 && code < 300;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String trimDateUsingDateTime(String dateTimeString) {
|
||||||
|
DateTime dateTime = DateTime.parse(dateTimeString);
|
||||||
|
return "${dateTime.year}-${dateTime.month.toString().padLeft(2, '0')}-${dateTime.day.toString().padLeft(2, '0')}";
|
||||||
|
}
|
||||||
|
|
||||||
// static String getImgUrl(String? url) {
|
// static String getImgUrl(String? url) {
|
||||||
// debugPrint("url ======= = $url");
|
// debugPrint("url ======= = $url");
|
||||||
//
|
//
|
||||||
|
|
|
@ -18,8 +18,10 @@ class Validations {
|
||||||
var enteredValue = value?.trim() ?? '';
|
var enteredValue = value?.trim() ?? '';
|
||||||
if (enteredValue.isEmpty) {
|
if (enteredValue.isEmpty) {
|
||||||
return 'Required';
|
return 'Required';
|
||||||
} else if (enteredValue.length != 10) {
|
} else if (enteredValue.length!= 10) {
|
||||||
return "Not a valid number";
|
return "Not a valid number";
|
||||||
|
}else if (enteredValue.contains(RegExp(r'[^0-9]'))) {
|
||||||
|
return "Only digits are allowed";
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
// This is a generated file; do not edit or check into version control.
|
||||||
|
FLUTTER_ROOT=C:\src\flutter\flutter
|
||||||
|
FLUTTER_APPLICATION_PATH=C:\Users\Admin\Downloads\shayog
|
||||||
|
COCOAPODS_PARALLEL_CODE_SIGN=true
|
||||||
|
FLUTTER_BUILD_DIR=build
|
||||||
|
FLUTTER_BUILD_NAME=1.0.0
|
||||||
|
FLUTTER_BUILD_NUMBER=1
|
||||||
|
DART_OBFUSCATION=false
|
||||||
|
TRACK_WIDGET_CREATION=true
|
||||||
|
TREE_SHAKE_ICONS=false
|
||||||
|
PACKAGE_CONFIG=.dart_tool/package_config.json
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# This is a generated file; do not edit or check into version control.
|
||||||
|
export "FLUTTER_ROOT=C:\src\flutter\flutter"
|
||||||
|
export "FLUTTER_APPLICATION_PATH=C:\Users\Admin\Downloads\shayog"
|
||||||
|
export "COCOAPODS_PARALLEL_CODE_SIGN=true"
|
||||||
|
export "FLUTTER_BUILD_DIR=build"
|
||||||
|
export "FLUTTER_BUILD_NAME=1.0.0"
|
||||||
|
export "FLUTTER_BUILD_NUMBER=1"
|
||||||
|
export "DART_OBFUSCATION=false"
|
||||||
|
export "TRACK_WIDGET_CREATION=true"
|
||||||
|
export "TREE_SHAKE_ICONS=false"
|
||||||
|
export "PACKAGE_CONFIG=.dart_tool/package_config.json"
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.dart_tool" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/.pub" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="Dart SDK" level="project" />
|
||||||
|
<orderEntry type="library" name="Dart Packages" level="project" />
|
||||||
|
<orderEntry type="library" name="Flutter Plugins" level="project" />
|
||||||
|
</component>
|
||||||
|
</module>
|
Loading…
Reference in New Issue