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);
|
||||
// },
|
||||
style: 12.txtSBoldBlack,
|
||||
maxLength: maxLength,
|
||||
decoration: InputDecoration(
|
||||
counterText: '',
|
||||
maxLength: maxLength,
|
||||
decoration: InputDecoration(counterText: '',
|
||||
|
||||
|
||||
isDense: true,
|
||||
hintStyle: 11.txtSBoldGrey,
|
||||
maintainHintHeight: true,
|
||||
|
@ -61,6 +62,7 @@ class InputField extends StatelessWidget {
|
|||
focusedErrorBorder: underLineBorder ?? inputBorder,
|
||||
filled: true,
|
||||
hintText: title ?? "",
|
||||
|
||||
labelStyle: 12.txtSBoldGrey,
|
||||
fillColor: AppColors.clrD9,
|
||||
errorText: "",
|
||||
|
|
|
@ -87,6 +87,9 @@ class AppStrings {
|
|||
static const String paymentView = "Payment View";
|
||||
static const String transporterInbound = "Transporter Inbound Transaction";
|
||||
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 ";
|
||||
|
||||
|
||||
|
|
|
@ -1,42 +1,300 @@
|
|||
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';
|
||||
|
||||
class ConfigurationScreen extends StatelessWidget {
|
||||
class ConfigurationScreen extends StatefulWidget {
|
||||
const ConfigurationScreen({super.key});
|
||||
|
||||
@override
|
||||
State<ConfigurationScreen> createState() => _ConfigurationScreenState();
|
||||
}
|
||||
|
||||
class _ConfigurationScreenState extends State<ConfigurationScreen> {
|
||||
final ctrl = Get.put(ConfigurationScreenController());
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Column(
|
||||
children: [
|
||||
// Row 1 (Header Row)
|
||||
Row(
|
||||
children: [
|
||||
CustomTable(text:"Header 1", isHeader: true),
|
||||
CustomTable(text:"Header 2", isHeader: true),
|
||||
CustomTable(text:"Header 3", isHeader: true),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
CustomTable(text:"Row 1, Col 1"),
|
||||
CustomTable(text:"Row 1, Col 2"),
|
||||
CustomTable(text:"Row 1, Col 3"),
|
||||
],
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
CustomTable(text:"Row 2, Col 1"),
|
||||
CustomTable(text:"Row 2, Col 2"),
|
||||
CustomTable(text:"Row 2, Col 3"),
|
||||
],
|
||||
Container(
|
||||
padding: EdgeInsets.only(bottom: 4),
|
||||
margin: EdgeInsets.all(8),
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.only(bottom: 12),
|
||||
height: 45,
|
||||
color: AppColors.primaryClr,
|
||||
child: Row(
|
||||
children: [
|
||||
ListView.separated(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
||||
scrollDirection: Axis.horizontal,
|
||||
shrinkWrap: true,
|
||||
itemBuilder: (context, index) {
|
||||
return Obx(
|
||||
() => InkWell(
|
||||
onTap: () {
|
||||
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:get/get.dart';
|
||||
import 'package:shayog/components/styles/textStyles.dart';
|
||||
|
@ -342,10 +343,6 @@ class FreightBillScreen extends StatelessWidget {
|
|||
TableRow(
|
||||
decoration: BoxDecoration(color: AppColors.secondaryClr),
|
||||
children: [
|
||||
_cellText(
|
||||
text: "SR. No.",
|
||||
clr: Colors.black,
|
||||
fontWeight: FontWeight.bold),
|
||||
_cellText(
|
||||
text: "Transporter Name",
|
||||
clr: Colors.black,
|
||||
|
@ -378,7 +375,6 @@ class FreightBillScreen extends StatelessWidget {
|
|||
fontWeight: FontWeight.bold),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "01"),
|
||||
_cellText(text: "User 1"),
|
||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||
_cellText(text: "1 August 2024"),
|
||||
|
@ -389,7 +385,6 @@ class FreightBillScreen extends StatelessWidget {
|
|||
_cellText(text: "78646646"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "02"),
|
||||
_cellText(text: "User 2"),
|
||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||
_cellText(text: "1 August 2024"),
|
||||
|
@ -400,7 +395,6 @@ class FreightBillScreen extends StatelessWidget {
|
|||
_cellText(text: "78646646"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "03"),
|
||||
_cellText(text: "User 3"),
|
||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||
_cellText(text: "1 August 2024"),
|
||||
|
@ -411,7 +405,6 @@ class FreightBillScreen extends StatelessWidget {
|
|||
_cellText(text: "-"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "04"),
|
||||
_cellText(text: "User 4"),
|
||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||
_cellText(text: "1 August 2024"),
|
||||
|
@ -422,7 +415,6 @@ class FreightBillScreen extends StatelessWidget {
|
|||
_cellText(text: "78646646"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "05"),
|
||||
_cellText(text: "User 5"),
|
||||
_cellText(text: "9841651635426", clr: AppColors.primaryClr),
|
||||
_cellText(text: "1 August 2024"),
|
||||
|
|
|
@ -6,6 +6,7 @@ import '../../../../../../components/styles/app_strings.dart';
|
|||
|
||||
class MasterCtrl extends GetxController{
|
||||
var selectedUser = 0.obs;
|
||||
RxBool isSelected = false.obs;
|
||||
var supplierCode = 'Supplier Code'.obs;
|
||||
var bpGrouping = 'BP Grouping'.obs;
|
||||
var accountGrp = 'Supplier Account Group'.obs;
|
||||
|
@ -24,4 +25,8 @@ class MasterCtrl extends GetxController{
|
|||
CommonModel(title: AppStrings.plantMaster),
|
||||
|
||||
].obs;
|
||||
void toggleContainer() {
|
||||
isSelected.value = true;
|
||||
print("isSelected.value..${isSelected.value}");
|
||||
}
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import '../../../../../components/common/common_btn.dart';
|
||||
import '../../../../../components/common/custom_drop_down.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';
|
||||
|
@ -79,6 +81,7 @@ class MasterScreen extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: masterCtrl.toggleContainer,
|
||||
child: Image.asset(AppImages.filter,
|
||||
height: 12, width: 12)),
|
||||
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(() {
|
||||
switch (masterCtrl.selectedUser.value) {
|
||||
case 0:
|
||||
return _tableView();
|
||||
|
||||
|
||||
default:
|
||||
default:
|
||||
return Text("");
|
||||
}
|
||||
}),
|
||||
|
@ -129,10 +490,11 @@ _tableView(){
|
|||
TableRow(
|
||||
decoration: BoxDecoration(color: AppColors.secondaryClr),
|
||||
children: [
|
||||
_cellText(text: "SR. No."),
|
||||
// _cellText(text: "SR. No."),
|
||||
//CustomTable(text: "SR. NO."),
|
||||
CustomDropdown<String>(
|
||||
items: masterCtrl.supplier,
|
||||
backClr: AppColors.clrD9,
|
||||
itemLabel: (item) => item,
|
||||
onSelected: (selected) {
|
||||
if (selected != null) {
|
||||
|
@ -142,6 +504,7 @@ _tableView(){
|
|||
hintText: 'Supplier Code'),
|
||||
CustomDropdown<String>(
|
||||
items: masterCtrl.supplier,
|
||||
backClr: AppColors.clrD9,
|
||||
itemLabel: (item) => item,
|
||||
onSelected: (selected) {
|
||||
if (selected != null) {
|
||||
|
@ -151,6 +514,7 @@ _tableView(){
|
|||
hintText: 'BP Grouping'),
|
||||
CustomDropdown<String>(
|
||||
items: masterCtrl.supplier,
|
||||
backClr: AppColors.clrD9,
|
||||
itemLabel: (item) => item,
|
||||
onSelected: (selected) {
|
||||
if (selected != null) {
|
||||
|
@ -160,6 +524,7 @@ _tableView(){
|
|||
hintText: 'Supplier Account Group'),
|
||||
CustomDropdown<String>(
|
||||
items: masterCtrl.supplier,
|
||||
backClr: AppColors.clrD9,
|
||||
itemLabel: (item) => item,
|
||||
onSelected: (selected) {
|
||||
if (selected != null) {
|
||||
|
@ -170,7 +535,6 @@ _tableView(){
|
|||
_cellText(text: "Legal Entity"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "01"),
|
||||
_cellText(text: "11059440"),
|
||||
_cellText(text: "ZIPT"),
|
||||
_cellText(text: "ZIPT"),
|
||||
|
@ -178,7 +542,6 @@ _tableView(){
|
|||
_cellText(text: "0"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "02"),
|
||||
_cellText(text: "11059440"),
|
||||
_cellText(text: "ZIPT"),
|
||||
_cellText(text: "ZIPT"),
|
||||
|
@ -187,7 +550,6 @@ _tableView(){
|
|||
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "03"),
|
||||
_cellText(text: "11059440"),
|
||||
_cellText(text: "ZIPT"),
|
||||
_cellText(text: "ZIPT"),
|
||||
|
@ -195,7 +557,6 @@ _tableView(){
|
|||
_cellText(text: "0"),
|
||||
]),
|
||||
TableRow(children: [
|
||||
_cellText(text: "04"),
|
||||
_cellText(text: "11059440"),
|
||||
_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({
|
||||
this.content,
|
||||
this.pageable,
|
||||
this.last,
|
||||
this.totalElements,
|
||||
this.totalPages,
|
||||
this.last,
|
||||
this.size,
|
||||
this.number,
|
||||
this.sort,
|
||||
|
@ -38,9 +38,9 @@ class 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))))),
|
||||
pageable: json["pageable"] == null ? null : Pageable.fromJson(json["pageable"]),
|
||||
last: json["last"],
|
||||
totalElements: json["totalElements"],
|
||||
totalPages: json["totalPages"],
|
||||
last: json["last"],
|
||||
size: json["size"],
|
||||
number: json["number"],
|
||||
sort: json["sort"] == null ? null : Sort.fromJson(json["sort"]),
|
||||
|
@ -52,9 +52,9 @@ class GetAllUserResModel {
|
|||
Map<String, dynamic> toJson() => {
|
||||
"content": content == null ? [] : List<dynamic>.from(content!.map((x) => List<dynamic>.from(x.map((x) => x.toJson())))),
|
||||
"pageable": pageable?.toJson(),
|
||||
"last": last,
|
||||
"totalElements": totalElements,
|
||||
"totalPages": totalPages,
|
||||
"last": last,
|
||||
"size": size,
|
||||
"number": number,
|
||||
"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 '../../../../../../components/common/common_model.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;
|
||||
Rx<String> selectedPlant = "Select Plant".obs;
|
||||
Rx<String> selectedFreightBill = "Select Bill No.".obs;
|
||||
|
@ -56,7 +58,7 @@ class InvoiceManagementController extends GetxController {
|
|||
CommonModel(title: AppStrings.viewInvoice),
|
||||
CommonModel(title: AppStrings.cancelledInvoice),
|
||||
CommonModel(title: AppStrings.ccnView),
|
||||
].obs; // Default value
|
||||
].obs;// Default value
|
||||
RxInt totalPages = 3.obs;
|
||||
RxInt totalElements = 3.obs;
|
||||
var pageSize = 2.obs;
|
||||
|
@ -71,7 +73,10 @@ class InvoiceManagementController extends GetxController {
|
|||
TextEditingController fromController = TextEditingController();
|
||||
DateTime fromSelectedDate = DateTime.now(); // Initialize with a default value
|
||||
RxBool dateCheck = false.obs;
|
||||
|
||||
// Validation variables
|
||||
RxBool showPlantError = false.obs;
|
||||
RxBool showProductError = false.obs;
|
||||
RxBool showTransactionError = false.obs;
|
||||
String getFormattedDate(DateTime date) {
|
||||
return "${date.day.toString().padLeft(2, '0')}-${date.month.toString()
|
||||
.padLeft(2, '0')}-${date.year}";
|
||||
|
@ -86,10 +91,24 @@ class InvoiceManagementController extends GetxController {
|
|||
// RxBool showProductErrorViewFreight = false.obs;
|
||||
var freightViewLoader = false.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() {
|
||||
isSelected.value = true;
|
||||
}
|
||||
void toggleFilter() {
|
||||
isFilterVisibleGenerateFreight.value =
|
||||
!isFilterVisibleGenerateFreight.value;
|
||||
if (!isFilterVisibleGenerateFreight.value) {
|
||||
clearFiltersGenerateFreightBill(); }}
|
||||
|
||||
|
||||
@override
|
||||
|
@ -98,8 +117,29 @@ class InvoiceManagementController extends GetxController {
|
|||
getFreightBills();
|
||||
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 {
|
||||
try {
|
||||
invoiceViewLoader.value = true;
|
||||
|
@ -128,7 +168,6 @@ class InvoiceManagementController extends GetxController {
|
|||
invoiceViewLoader.value = false;
|
||||
}
|
||||
}
|
||||
|
||||
void changeSort(String field) {
|
||||
if (field == sortField.value) {
|
||||
sortDirection.value = sortDirection.value == "asc" ? "desc" : "asc";
|
||||
|
@ -142,7 +181,28 @@ class InvoiceManagementController extends GetxController {
|
|||
RxBool showPlantErrorFreight = false.obs;
|
||||
RxBool showProductErrorFreight = false.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 {
|
||||
try {
|
||||
isLoading.value = true;
|
||||
|
@ -157,93 +217,7 @@ class InvoiceManagementController extends GetxController {
|
|||
} finally {
|
||||
|
||||
|
||||
|
||||
|
||||
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: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/feature/presentation/screens/transporter/invoice_management/cancelled_view/cancelled_view_screen.dart';
|
||||
import 'package:shayog/feature/presentation/screens/transporter/invoice_management/ccn_view/ccn_view_screen.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 'package:shayog/feature/presentation/widgets/text_view.dart';
|
||||
import 'package:sizer/sizer.dart';
|
||||
import 'package:vph_web_date_picker/vph_web_date_picker.dart';
|
||||
|
||||
import '../../../../../../components/common/common_btn.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_images.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/cancelled_view/cancelled_view_screen.dart';
|
||||
import '../../invoice_management/payment_view/payment_view_screen.dart';
|
||||
import '../ctrl/invoice_management_controller.dart';
|
||||
|
||||
class InvoiceManagement extends StatefulWidget {
|
||||
|
@ -20,6 +32,8 @@ class InvoiceManagement extends StatefulWidget {
|
|||
}
|
||||
|
||||
class _TransportViewState extends State<InvoiceManagement> {
|
||||
final ScrollController horizontalScrollController = ScrollController();
|
||||
final ScrollController verticalScrollController = ScrollController();
|
||||
final ctrl = Get.put(InvoiceManagementController());
|
||||
final paymentCtrl = Get.put(PaymentViewCtrl());
|
||||
@override
|
||||
|
@ -27,87 +41,331 @@ class _TransportViewState extends State<InvoiceManagement> {
|
|||
return Column(
|
||||
children: [
|
||||
Container(
|
||||
margin: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
||||
height: 50,
|
||||
color: AppColors.primaryClr,
|
||||
child: Row(
|
||||
padding: EdgeInsets.only(bottom: 4),
|
||||
margin: EdgeInsets.all(16),
|
||||
child: Column(
|
||||
children: [
|
||||
ListView.separated(
|
||||
shrinkWrap: true,
|
||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
||||
scrollDirection: Axis.horizontal,
|
||||
itemBuilder: (context, index) {
|
||||
return Obx(
|
||||
() => InkWell(
|
||||
onTap: () {
|
||||
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: TextView(
|
||||
text: ctrl.invoiceTabs[index].title ?? "",
|
||||
style: 12.txtBoldWhite,
|
||||
),
|
||||
),
|
||||
Container(
|
||||
margin: EdgeInsets.only(bottom: 12),
|
||||
height: 55,
|
||||
color: AppColors.primaryClr,
|
||||
child: Row(
|
||||
children: [
|
||||
ListView.separated(
|
||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
||||
scrollDirection: Axis.horizontal,
|
||||
shrinkWrap: true,
|
||||
itemBuilder: (context, index) {
|
||||
return Obx(
|
||||
() => InkWell(
|
||||
onTap: () {
|
||||
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),
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
separatorBuilder: (context, index) {
|
||||
return SizedBox(width: 16);
|
||||
},
|
||||
itemCount: ctrl.invoiceTabs.length,
|
||||
),
|
||||
Spacer(),
|
||||
InkWell(
|
||||
onTap: (){
|
||||
paymentCtrl.resetDropdowns();
|
||||
},
|
||||
child: Image.asset(AppImages.refresh, height: 16, width: 16)),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Text(
|
||||
AppStrings.refresh,
|
||||
style: 12.txtBoldWhite,
|
||||
),
|
||||
),
|
||||
InkWell(
|
||||
onTap: () {
|
||||
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,
|
||||
GestureDetector(
|
||||
behavior: HitTestBehavior.translucent,
|
||||
onTap: () {
|
||||
print("cdgsa");
|
||||
ctrl.isSelected.value = !ctrl.isSelected.value;
|
||||
// if (ctrl.isSelected.value == 0) {
|
||||
// ctrl.toggleFilter();
|
||||
// } else if (ctrl.isSelected.value == 1) {
|
||||
// ctrl.toggleViewFreight();
|
||||
// } else if (ctrl.isSelected.value == 2) {
|
||||
// ctrl.togglePending();
|
||||
// }
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
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(() {
|
||||
switch (ctrl.selectedState.value) {
|
||||
case 0:
|
||||
return ViewInvoice();
|
||||
return _tableView();
|
||||
case 1:
|
||||
return CancelledView();
|
||||
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:shayog/components/styles/textStyles.dart';
|
||||
import 'dart:math' as math;
|
||||
|
|
|
@ -17,7 +17,7 @@ class MyApp extends StatelessWidget {
|
|||
return GetMaterialApp(
|
||||
debugShowCheckedModeBanner: false,
|
||||
title: 'Shayog',
|
||||
initialRoute: PageRoutes.login,
|
||||
initialRoute: PageRoutes.dashboard,
|
||||
onGenerateRoute: Navigation.onGenerateRoutes,
|
||||
// home: DashboardScreen(),
|
||||
);
|
||||
|
|
|
@ -2,7 +2,6 @@ import 'dart:convert';
|
|||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:shayog/services/prefrences/prefrences.dart';
|
||||
import 'package:shayog/utils/helpers.dart';
|
||||
import '../../utils/alert_service.dart';
|
||||
import '../model/common_res_model.dart';
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
//
|
||||
//
|
||||
//
|
||||
|
||||
// import 'package:shared_preferences/shared_preferences.dart';
|
||||
//
|
||||
// class Preferences {
|
||||
//
|
||||
|
@ -14,6 +16,13 @@
|
|||
// static const prefKeyParent = 'pref_key_parent';
|
||||
// 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 Future createInstance() async {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class Helpers {
|
||||
Helpers._();
|
||||
|
@ -21,6 +22,11 @@ class Helpers {
|
|||
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) {
|
||||
// debugPrint("url ======= = $url");
|
||||
//
|
||||
|
|
|
@ -18,8 +18,10 @@ class Validations {
|
|||
var enteredValue = value?.trim() ?? '';
|
||||
if (enteredValue.isEmpty) {
|
||||
return 'Required';
|
||||
} else if (enteredValue.length != 10) {
|
||||
} else if (enteredValue.length!= 10) {
|
||||
return "Not a valid number";
|
||||
}else if (enteredValue.contains(RegExp(r'[^0-9]'))) {
|
||||
return "Only digits are allowed";
|
||||
} else {
|
||||
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