Showing
100 changed files
with
84 additions
and
3107 deletions
Too many changes to show.
To preserve performance only 100 of 100+ files are displayed.
| 1 | + | ||
| 2 | + | ||
| 1 | def localProperties = new Properties() | 3 | def localProperties = new Properties() |
| 2 | def localPropertiesFile = rootProject.file('local.properties') | 4 | def localPropertiesFile = rootProject.file('local.properties') |
| 3 | if (localPropertiesFile.exists()) { | 5 | if (localPropertiesFile.exists()) { |
| @@ -46,8 +48,6 @@ apply plugin: 'com.huawei.agconnect' | @@ -46,8 +48,6 @@ apply plugin: 'com.huawei.agconnect' | ||
| 46 | android { | 48 | android { |
| 47 | compileSdkVersion 34 | 49 | compileSdkVersion 34 |
| 48 | 50 | ||
| 49 | - // namespace 'com.naji.one_key' | ||
| 50 | - | ||
| 51 | compileOptions { | 51 | compileOptions { |
| 52 | sourceCompatibility JavaVersion.VERSION_1_8 | 52 | sourceCompatibility JavaVersion.VERSION_1_8 |
| 53 | targetCompatibility JavaVersion.VERSION_1_8 | 53 | targetCompatibility JavaVersion.VERSION_1_8 |
| @@ -169,12 +169,13 @@ dependencies { | @@ -169,12 +169,13 @@ dependencies { | ||
| 169 | testImplementation 'junit:junit:4.12' | 169 | testImplementation 'junit:junit:4.12' |
| 170 | androidTestImplementation 'androidx.test:runner:1.1.1' | 170 | androidTestImplementation 'androidx.test:runner:1.1.1' |
| 171 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' | 171 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1' |
| 172 | - implementation 'com.tencent.tpns:huawei:1.4.4.2-release'// 华为推送 | ||
| 173 | - implementation 'com.tencent.tpns:xiaomi:1.4.4.2-release' // 小米推送 | ||
| 174 | - implementation 'com.tencent.tpns:oppo:1.4.4.2-release' // OPPO 推送 | ||
| 175 | - implementation 'com.tencent.tpns:vivo:1.4.4.2-release' // vivo 推送 | 172 | + implementation 'com.tencent.tpns:huawei:1.2.0.3-release'// 华为推送 |
| 173 | + implementation 'com.tencent.tpns:xiaomi:1.2.0.3-release' // 小米推送 | ||
| 174 | + implementation 'com.tencent.tpns:oppo:1.2.0.3-release' // OPPO 推送 | ||
| 175 | + implementation 'com.tencent.tpns:vivo:1.2.0.3-release' // vivo 推送 | ||
| 176 | implementation 'com.amap.api:location:4.7.0' | 176 | implementation 'com.amap.api:location:4.7.0' |
| 177 | - // implementation 'com.zhihu.android:matisse:0.5.3-beta3' | 177 | + implementation 'com.zhihu.android:matisse:0.5.3-beta3' |
| 178 | implementation 'com.github.bumptech.glide:glide:4.11.0' | 178 | implementation 'com.github.bumptech.glide:glide:4.11.0' |
| 179 | annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' | 179 | annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' |
| 180 | } | 180 | } |
| 181 | + |
| 1 | + | ||
| 2 | + | ||
| 1 | buildscript { | 3 | buildscript { |
| 2 | // ext.kotlin_version = '1.3.50' | 4 | // ext.kotlin_version = '1.3.50' |
| 3 | // ext.kotlin_version = '1.9.24' | 5 | // ext.kotlin_version = '1.9.24' |
| @@ -9,9 +11,9 @@ ext.kotlin_version = '1.8.22' | @@ -9,9 +11,9 @@ ext.kotlin_version = '1.8.22' | ||
| 9 | 11 | ||
| 10 | // ext.kotlin_version = '1.4.32' | 12 | // ext.kotlin_version = '1.4.32' |
| 11 | repositories { | 13 | repositories { |
| 14 | + mavenCentral() | ||
| 12 | google() | 15 | google() |
| 13 | jcenter() | 16 | jcenter() |
| 14 | - mavenCentral() | ||
| 15 | 17 | ||
| 16 | 18 | ||
| 17 | maven{ | 19 | maven{ |
| @@ -41,6 +43,7 @@ maven{ | @@ -41,6 +43,7 @@ maven{ | ||
| 41 | 43 | ||
| 42 | allprojects { | 44 | allprojects { |
| 43 | repositories { | 45 | repositories { |
| 46 | + mavenCentral() | ||
| 44 | google() | 47 | google() |
| 45 | jcenter() | 48 | jcenter() |
| 46 | 49 | ||
| @@ -60,6 +63,9 @@ maven{ | @@ -60,6 +63,9 @@ maven{ | ||
| 60 | } | 63 | } |
| 61 | 64 | ||
| 62 | rootProject.buildDir = '../build' | 65 | rootProject.buildDir = '../build' |
| 66 | +// subprojects{ | ||
| 67 | +// project.abiFilters.android.compileSdkVersion 34 | ||
| 68 | +// } | ||
| 63 | subprojects { | 69 | subprojects { |
| 64 | project.buildDir = "${rootProject.buildDir}/${project.name}" | 70 | project.buildDir = "${rootProject.buildDir}/${project.name}" |
| 65 | } | 71 | } |
| @@ -81,3 +87,4 @@ subprojects { | @@ -81,3 +87,4 @@ subprojects { | ||
| 81 | tasks.register("clean", Delete) { | 87 | tasks.register("clean", Delete) { |
| 82 | delete rootProject.buildDir | 88 | delete rootProject.buildDir |
| 83 | } | 89 | } |
| 90 | + |
| @@ -4,5 +4,4 @@ distributionPath=wrapper/dists | @@ -4,5 +4,4 @@ distributionPath=wrapper/dists | ||
| 4 | # distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip | 4 | # distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip |
| 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip | 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip |
| 6 | zipStoreBase=GRADLE_USER_HOME | 6 | zipStoreBase=GRADLE_USER_HOME |
| 7 | -zipStorePath=wrapper/dists | ||
| 8 | - | 7 | +zipStorePath=wrapper/dists |
| @@ -40,8 +40,6 @@ PODS: | @@ -40,8 +40,6 @@ PODS: | ||
| 40 | - foundation_fluttify | 40 | - foundation_fluttify |
| 41 | - device_info (0.0.1): | 41 | - device_info (0.0.1): |
| 42 | - Flutter | 42 | - Flutter |
| 43 | - - device_info_plus (0.0.1): | ||
| 44 | - - Flutter | ||
| 45 | - device_utils_my (0.0.1): | 43 | - device_utils_my (0.0.1): |
| 46 | - Flutter | 44 | - Flutter |
| 47 | - fijkplayer (0.11.0): | 45 | - fijkplayer (0.11.0): |
| @@ -79,7 +77,7 @@ PODS: | @@ -79,7 +77,7 @@ PODS: | ||
| 79 | - Flutter | 77 | - Flutter |
| 80 | - flutter_statusbarcolor_ns (0.0.1): | 78 | - flutter_statusbarcolor_ns (0.0.1): |
| 81 | - Flutter | 79 | - Flutter |
| 82 | - - flutter_wxwork (0.0.3): | 80 | + - flutter_wxwork (0.0.1): |
| 83 | - Flutter | 81 | - Flutter |
| 84 | - fluttertoast (0.0.2): | 82 | - fluttertoast (0.0.2): |
| 85 | - Flutter | 83 | - Flutter |
| @@ -177,7 +175,6 @@ DEPENDENCIES: | @@ -177,7 +175,6 @@ DEPENDENCIES: | ||
| 177 | - contacts_service (from `.symlinks/plugins/contacts_service/ios`) | 175 | - contacts_service (from `.symlinks/plugins/contacts_service/ios`) |
| 178 | - core_location_fluttify (from `.symlinks/plugins/core_location_fluttify/ios`) | 176 | - core_location_fluttify (from `.symlinks/plugins/core_location_fluttify/ios`) |
| 179 | - device_info (from `.symlinks/plugins/device_info/ios`) | 177 | - device_info (from `.symlinks/plugins/device_info/ios`) |
| 180 | - - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) | ||
| 181 | - device_utils_my (from `.symlinks/plugins/device_utils_my/ios`) | 178 | - device_utils_my (from `.symlinks/plugins/device_utils_my/ios`) |
| 182 | - fijkplayer (from `.symlinks/plugins/fijkplayer/ios`) | 179 | - fijkplayer (from `.symlinks/plugins/fijkplayer/ios`) |
| 183 | - Flutter (from `Flutter`) | 180 | - Flutter (from `Flutter`) |
| @@ -257,8 +254,6 @@ EXTERNAL SOURCES: | @@ -257,8 +254,6 @@ EXTERNAL SOURCES: | ||
| 257 | :path: ".symlinks/plugins/core_location_fluttify/ios" | 254 | :path: ".symlinks/plugins/core_location_fluttify/ios" |
| 258 | device_info: | 255 | device_info: |
| 259 | :path: ".symlinks/plugins/device_info/ios" | 256 | :path: ".symlinks/plugins/device_info/ios" |
| 260 | - device_info_plus: | ||
| 261 | - :path: ".symlinks/plugins/device_info_plus/ios" | ||
| 262 | device_utils_my: | 257 | device_utils_my: |
| 263 | :path: ".symlinks/plugins/device_utils_my/ios" | 258 | :path: ".symlinks/plugins/device_utils_my/ios" |
| 264 | fijkplayer: | 259 | fijkplayer: |
| @@ -351,7 +346,6 @@ SPEC CHECKSUMS: | @@ -351,7 +346,6 @@ SPEC CHECKSUMS: | ||
| 351 | contacts_service: 7c2ed10147f55891576c6a582f431e385d8de92d | 346 | contacts_service: 7c2ed10147f55891576c6a582f431e385d8de92d |
| 352 | core_location_fluttify: d76555ed03db792a010b362a52a72134a69fe32b | 347 | core_location_fluttify: d76555ed03db792a010b362a52a72134a69fe32b |
| 353 | device_info: 52e8c0c9c61def8d0a92bf175f5f500abbea04bc | 348 | device_info: 52e8c0c9c61def8d0a92bf175f5f500abbea04bc |
| 354 | - device_info_plus: 335f3ce08d2e174b9fdc3db3db0f4e3b1f66bd89 | ||
| 355 | device_utils_my: de33d0a3965bd76cf7e9fb58b7ea71d698686969 | 349 | device_utils_my: de33d0a3965bd76cf7e9fb58b7ea71d698686969 |
| 356 | fijkplayer: 2dd31ec312ba554bb6a9163cb2f44cdb528e50da | 350 | fijkplayer: 2dd31ec312ba554bb6a9163cb2f44cdb528e50da |
| 357 | Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 | 351 | Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 |
| @@ -366,7 +360,7 @@ SPEC CHECKSUMS: | @@ -366,7 +360,7 @@ SPEC CHECKSUMS: | ||
| 366 | flutter_native_image: c0f200e4bc5da392b15878df38654cc85a78b090 | 360 | flutter_native_image: c0f200e4bc5da392b15878df38654cc85a78b090 |
| 367 | flutter_sms: bb63bc226f41fad2b7cc9f0b1d0c15f7730a8310 | 361 | flutter_sms: bb63bc226f41fad2b7cc9f0b1d0c15f7730a8310 |
| 368 | flutter_statusbarcolor_ns: 28ea17050f37c962fe05a4722a6d43afc4fca76b | 362 | flutter_statusbarcolor_ns: 28ea17050f37c962fe05a4722a6d43afc4fca76b |
| 369 | - flutter_wxwork: 39312e535fa4fcbaab349048709df5bcd79aa794 | 363 | + flutter_wxwork: 544263eeacf44361e64b749e4ff62b5f680cbc14 |
| 370 | fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1 | 364 | fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1 |
| 371 | fluwx: 6bf9c5a3a99ad31b0de137dd92370a0d10a60f4b | 365 | fluwx: 6bf9c5a3a99ad31b0de137dd92370a0d10a60f4b |
| 372 | foundation_fluttify: f4349a7e72691ddf460062127ef64f3a221868a5 | 366 | foundation_fluttify: f4349a7e72691ddf460062127ef64f3a221868a5 |
| @@ -458,8 +458,8 @@ | @@ -458,8 +458,8 @@ | ||
| 458 | "$(inherited)", | 458 | "$(inherited)", |
| 459 | "@executable_path/Frameworks", | 459 | "@executable_path/Frameworks", |
| 460 | ); | 460 | ); |
| 461 | - MARKETING_VERSION = 5.5.0; | ||
| 462 | - PRODUCT_BUNDLE_IDENTIFIER = com.naji.readLine; | 461 | + MARKETING_VERSION = 6.0.0; |
| 462 | + PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; | ||
| 463 | PRODUCT_NAME = "$(TARGET_NAME)"; | 463 | PRODUCT_NAME = "$(TARGET_NAME)"; |
| 464 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | 464 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; |
| 465 | SWIFT_VERSION = 5.0; | 465 | SWIFT_VERSION = 5.0; |
| @@ -641,8 +641,8 @@ | @@ -641,8 +641,8 @@ | ||
| 641 | "$(inherited)", | 641 | "$(inherited)", |
| 642 | "@executable_path/Frameworks", | 642 | "@executable_path/Frameworks", |
| 643 | ); | 643 | ); |
| 644 | - MARKETING_VERSION = 5.5.0; | ||
| 645 | - PRODUCT_BUNDLE_IDENTIFIER = com.naji.readLine; | 644 | + MARKETING_VERSION = 6.0.0; |
| 645 | + PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; | ||
| 646 | PRODUCT_NAME = "$(TARGET_NAME)"; | 646 | PRODUCT_NAME = "$(TARGET_NAME)"; |
| 647 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | 647 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; |
| 648 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | 648 | SWIFT_OPTIMIZATION_LEVEL = "-Onone"; |
| @@ -667,8 +667,8 @@ | @@ -667,8 +667,8 @@ | ||
| 667 | "$(inherited)", | 667 | "$(inherited)", |
| 668 | "@executable_path/Frameworks", | 668 | "@executable_path/Frameworks", |
| 669 | ); | 669 | ); |
| 670 | - MARKETING_VERSION = 5.5.0; | ||
| 671 | - PRODUCT_BUNDLE_IDENTIFIER = com.naji.readLine; | 670 | + MARKETING_VERSION = 6.0.0; |
| 671 | + PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine; | ||
| 672 | PRODUCT_NAME = "$(TARGET_NAME)"; | 672 | PRODUCT_NAME = "$(TARGET_NAME)"; |
| 673 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | 673 | SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; |
| 674 | SWIFT_VERSION = 5.0; | 674 | SWIFT_VERSION = 5.0; |
| @@ -30,6 +30,7 @@ import 'package:permission_handler/permission_handler.dart'; | @@ -30,6 +30,7 @@ import 'package:permission_handler/permission_handler.dart'; | ||
| 30 | import 'package:provider/provider.dart'; | 30 | import 'package:provider/provider.dart'; |
| 31 | 31 | ||
| 32 | import '../../app.dart'; | 32 | import '../../app.dart'; |
| 33 | +import '../../utils/common_utils.dart'; | ||
| 33 | 34 | ||
| 34 | class BaseInfoPage extends StatefulWidget { | 35 | class BaseInfoPage extends StatefulWidget { |
| 35 | final FromPage? fromPage; | 36 | final FromPage? fromPage; |
| @@ -755,7 +756,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> { | @@ -755,7 +756,8 @@ class _BaseInfoPageState extends State<BaseInfoPage> { | ||
| 755 | } | 756 | } |
| 756 | 757 | ||
| 757 | //接口 | 758 | //接口 |
| 758 | - _setCustomerActivityBaseinfo(); | 759 | + JhCommonUtils.debounce(() => _setCustomerActivityBaseinfo(), 500); |
| 760 | + | ||
| 759 | }, | 761 | }, |
| 760 | text: '保存', | 762 | text: '保存', |
| 761 | fontSize: 34, | 763 | fontSize: 34, |
| 1 | - | ||
| 2 | import 'dart:async'; | 1 | import 'dart:async'; |
| 3 | import 'dart:convert'; | 2 | import 'dart:convert'; |
| 4 | import 'dart:io'; | 3 | import 'dart:io'; |
| @@ -30,6 +29,7 @@ import 'package:provider/provider.dart'; | @@ -30,6 +29,7 @@ import 'package:provider/provider.dart'; | ||
| 30 | 29 | ||
| 31 | import '../../app.dart'; | 30 | import '../../app.dart'; |
| 32 | import '../../pages/online_check/photo_view_wiget.dart'; | 31 | import '../../pages/online_check/photo_view_wiget.dart'; |
| 32 | +import '../../utils/common_utils.dart'; | ||
| 33 | 33 | ||
| 34 | class BaseInfoPageSim extends StatefulWidget { | 34 | class BaseInfoPageSim extends StatefulWidget { |
| 35 | final FromPage? fromPage; | 35 | final FromPage? fromPage; |
| @@ -135,7 +135,7 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | @@ -135,7 +135,7 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | ||
| 135 | bool success = | 135 | bool success = |
| 136 | await _baseIndoProvider.getCustomerActivityBaseinfo(context, params); | 136 | await _baseIndoProvider.getCustomerActivityBaseinfo(context, params); |
| 137 | if (success) { | 137 | if (success) { |
| 138 | - _nameController.text = _baseIndoProvider.baseInfoSunModel!.name??""; | 138 | + _nameController.text = _baseIndoProvider.baseInfoSunModel!.name ?? ""; |
| 139 | nameStr = _baseIndoProvider.baseInfoSunModel!.name; | 139 | nameStr = _baseIndoProvider.baseInfoSunModel!.name; |
| 140 | _uploadImageProvider.touxiang.qiniuUrl = | 140 | _uploadImageProvider.touxiang.qiniuUrl = |
| 141 | _baseIndoProvider.baseInfoSunModel!.photo; | 141 | _baseIndoProvider.baseInfoSunModel!.photo; |
| @@ -144,9 +144,9 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | @@ -144,9 +144,9 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | ||
| 144 | _uploadImageProvider.erweima.qiniuUrl = | 144 | _uploadImageProvider.erweima.qiniuUrl = |
| 145 | _baseIndoProvider.baseInfoSunModel!.qrcode; | 145 | _baseIndoProvider.baseInfoSunModel!.qrcode; |
| 146 | _uploadImageProvider.erweima.process = 1; | 146 | _uploadImageProvider.erweima.process = 1; |
| 147 | - _phoneController.text = _baseIndoProvider.baseInfoSunModel!.phone??""; | 147 | + _phoneController.text = _baseIndoProvider.baseInfoSunModel!.phone ?? ""; |
| 148 | phoneStr = _baseIndoProvider.baseInfoSunModel!.phone ?? ''; | 148 | phoneStr = _baseIndoProvider.baseInfoSunModel!.phone ?? ''; |
| 149 | - _wechatController.text = _baseIndoProvider.baseInfoSunModel!.wechat??""; | 149 | + _wechatController.text = _baseIndoProvider.baseInfoSunModel!.wechat ?? ""; |
| 150 | if (_baseIndoProvider.baseInfoSunModel!.wechat != null && | 150 | if (_baseIndoProvider.baseInfoSunModel!.wechat != null && |
| 151 | _baseIndoProvider.baseInfoSunModel!.wechat != '' && | 151 | _baseIndoProvider.baseInfoSunModel!.wechat != '' && |
| 152 | phoneStr != '' && | 152 | phoneStr != '' && |
| @@ -155,7 +155,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | @@ -155,7 +155,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | ||
| 155 | } else { | 155 | } else { |
| 156 | isSelect = false; | 156 | isSelect = false; |
| 157 | } | 157 | } |
| 158 | - _positionController.text = _baseIndoProvider.baseInfoSunModel!.position??""; | 158 | + _positionController.text = |
| 159 | + _baseIndoProvider.baseInfoSunModel!.position ?? ""; | ||
| 159 | _uploadImageProvider.imgSizeErweima = 64; | 160 | _uploadImageProvider.imgSizeErweima = 64; |
| 160 | // setState(() {}); | 161 | // setState(() {}); |
| 161 | _uploadImageProvider.notifyListeners(); | 162 | _uploadImageProvider.notifyListeners(); |
| @@ -215,7 +216,7 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | @@ -215,7 +216,7 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | ||
| 215 | params['id'] = _baseIndoProvider.baseInfoSunModel!.id; | 216 | params['id'] = _baseIndoProvider.baseInfoSunModel!.id; |
| 216 | } | 217 | } |
| 217 | bool isSuccess = | 218 | bool isSuccess = |
| 218 | - await _baseIndoProvider.setCustomerActivityBaseinfo(context, params) ; | 219 | + await _baseIndoProvider.setCustomerActivityBaseinfo(context, params); |
| 219 | // _baseIndoProvider.baseInfoSunModel = null; | 220 | // _baseIndoProvider.baseInfoSunModel = null; |
| 220 | if (isSuccess) { | 221 | if (isSuccess) { |
| 221 | // imgAll和images 比较,挑出不一样的,删除七牛云 | 222 | // imgAll和images 比较,挑出不一样的,删除七牛云 |
| @@ -734,7 +735,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | @@ -734,7 +735,8 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | ||
| 734 | _uploadImageProvider.touxiang.qiniuUrl == | 735 | _uploadImageProvider.touxiang.qiniuUrl == |
| 735 | 'http://nosqn.colorcun.com/yd_person.png') { | 736 | 'http://nosqn.colorcun.com/yd_person.png') { |
| 736 | } else { | 737 | } else { |
| 737 | - if (_uploadImageProvider.touxiang.process! < 1 && | 738 | + if (_uploadImageProvider.touxiang.process! < |
| 739 | + 1 && | ||
| 738 | _uploadImageProvider.touxiang.process! > | 740 | _uploadImageProvider.touxiang.process! > |
| 739 | 0.01 && | 741 | 0.01 && |
| 740 | _uploadImageProvider.touxiang.qiniuUrl != | 742 | _uploadImageProvider.touxiang.qiniuUrl != |
| @@ -757,7 +759,9 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | @@ -757,7 +759,9 @@ class _BaseInfoPageSimState extends State<BaseInfoPageSim> { | ||
| 757 | } | 759 | } |
| 758 | 760 | ||
| 759 | //接口 | 761 | //接口 |
| 760 | - _setCustomerActivityBaseinfo(); | 762 | + |
| 763 | + JhCommonUtils.debounce( | ||
| 764 | + () => _setCustomerActivityBaseinfo(), 500); | ||
| 761 | }, | 765 | }, |
| 762 | text: '保存', | 766 | text: '保存', |
| 763 | fontSize: 34, | 767 | fontSize: 34, |
| @@ -143,7 +143,7 @@ class UploadImageUtil { | @@ -143,7 +143,7 @@ class UploadImageUtil { | ||
| 143 | controller: putController, | 143 | controller: putController, |
| 144 | ), | 144 | ), |
| 145 | ) | 145 | ) |
| 146 | - ..then((PutResponse response) { | 146 | + .then((PutResponse response) { |
| 147 | print('${index}上传已完成: 原始响应数据: ${jsonEncode(response.rawData)}'); | 147 | print('${index}上传已完成: 原始响应数据: ${jsonEncode(response.rawData)}'); |
| 148 | print('------------------------'); | 148 | print('------------------------'); |
| 149 | String imgUrl = uploadImageProvider.qiniuInfoSunModel!.domain! + | 149 | String imgUrl = uploadImageProvider.qiniuInfoSunModel!.domain! + |
| @@ -312,7 +312,7 @@ class UploadImageUtil { | @@ -312,7 +312,7 @@ class UploadImageUtil { | ||
| 312 | print('发生错误: 已在队列中'); | 312 | print('发生错误: 已在队列中'); |
| 313 | Utils.showToast('发生错误: 已在队列中'); | 313 | Utils.showToast('发生错误: 已在队列中'); |
| 314 | break; | 314 | break; |
| 315 | - case StorageErrorType.NO_AVAILABLE_REGION: | 315 | + // case StorageErrorType.NO_AVAILABLE_REGION: |
| 316 | // TODO: Handle this case. | 316 | // TODO: Handle this case. |
| 317 | } | 317 | } |
| 318 | } else { | 318 | } else { |
| @@ -370,7 +370,7 @@ class UploadImageUtil { | @@ -370,7 +370,7 @@ class UploadImageUtil { | ||
| 370 | controller: putController, | 370 | controller: putController, |
| 371 | ), | 371 | ), |
| 372 | ) | 372 | ) |
| 373 | - ..then((PutResponse response) { | 373 | + .then((PutResponse response) { |
| 374 | print('${index}上传已完成: 原始响应数据: ${jsonEncode(response.rawData)}'); | 374 | print('${index}上传已完成: 原始响应数据: ${jsonEncode(response.rawData)}'); |
| 375 | print('------------------------'); | 375 | print('------------------------'); |
| 376 | String imgUrl = uploadImageProvider.qiniuInfoSunModel!.domain! + | 376 | String imgUrl = uploadImageProvider.qiniuInfoSunModel!.domain! + |
| @@ -433,7 +433,7 @@ class UploadImageUtil { | @@ -433,7 +433,7 @@ class UploadImageUtil { | ||
| 433 | print('发生错误: 已在队列中'); | 433 | print('发生错误: 已在队列中'); |
| 434 | Utils.showToast('发生错误: 已在队列中'); | 434 | Utils.showToast('发生错误: 已在队列中'); |
| 435 | break; | 435 | break; |
| 436 | - case StorageErrorType.NO_AVAILABLE_REGION: | 436 | + // case StorageErrorType.NO_AVAILABLE_REGION: |
| 437 | // TODO: Handle this case. | 437 | // TODO: Handle this case. |
| 438 | } | 438 | } |
| 439 | } else { | 439 | } else { |
| @@ -526,7 +526,7 @@ class UploadImageUtil { | @@ -526,7 +526,7 @@ class UploadImageUtil { | ||
| 526 | controller: putController, | 526 | controller: putController, |
| 527 | ), | 527 | ), |
| 528 | ) | 528 | ) |
| 529 | - ..then((PutResponse response) { | 529 | + .then((PutResponse response) { |
| 530 | print('${index}上传已完成: 原始响应数据: ${jsonEncode(response.rawData)}'); | 530 | print('${index}上传已完成: 原始响应数据: ${jsonEncode(response.rawData)}'); |
| 531 | print('------------------------'); | 531 | print('------------------------'); |
| 532 | String imgUrl = uploadImageProvider.qiniuInfoSunModel!.domain! + | 532 | String imgUrl = uploadImageProvider.qiniuInfoSunModel!.domain! + |
| @@ -709,7 +709,7 @@ class UploadImageUtil { | @@ -709,7 +709,7 @@ class UploadImageUtil { | ||
| 709 | print('发生错误: 已在队列中'); | 709 | print('发生错误: 已在队列中'); |
| 710 | Utils.showToast('发生错误: 已在队列中'); | 710 | Utils.showToast('发生错误: 已在队列中'); |
| 711 | break; | 711 | break; |
| 712 | - case StorageErrorType.NO_AVAILABLE_REGION: | 712 | + // case StorageErrorType.NO_AVAILABLE_REGION: |
| 713 | // TODO: Handle this case. | 713 | // TODO: Handle this case. |
| 714 | } | 714 | } |
| 715 | } else { | 715 | } else { |
| @@ -1699,7 +1699,7 @@ static Future<bool> isImageLargerThan64KB(Uint8List? imageBytes) async { | @@ -1699,7 +1699,7 @@ static Future<bool> isImageLargerThan64KB(Uint8List? imageBytes) async { | ||
| 1699 | resultnew = await realComporessList(result); //压缩图片 | 1699 | resultnew = await realComporessList(result); //压缩图片 |
| 1700 | } else { | 1700 | } else { |
| 1701 | resultnew = await compressImage(list); | 1701 | resultnew = await compressImage(list); |
| 1702 | - debugPrint("压缩后图片的大小:${size(result.length)}"); | 1702 | + debugPrint("压缩后图片的大小:${size(resultnew!.length)}"); |
| 1703 | } | 1703 | } |
| 1704 | 1704 | ||
| 1705 | Loading.hideLoading(context); | 1705 | Loading.hideLoading(context); |
| @@ -5,50 +5,50 @@ packages: | @@ -5,50 +5,50 @@ packages: | ||
| 5 | dependency: transitive | 5 | dependency: transitive |
| 6 | description: | 6 | description: |
| 7 | name: async | 7 | name: async |
| 8 | - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 | 8 | + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" |
| 9 | url: "https://pub.flutter-io.cn" | 9 | url: "https://pub.flutter-io.cn" |
| 10 | source: hosted | 10 | source: hosted |
| 11 | - version: "2.12.0" | 11 | + version: "2.11.0" |
| 12 | boolean_selector: | 12 | boolean_selector: |
| 13 | dependency: transitive | 13 | dependency: transitive |
| 14 | description: | 14 | description: |
| 15 | name: boolean_selector | 15 | name: boolean_selector |
| 16 | - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" | 16 | + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" |
| 17 | url: "https://pub.flutter-io.cn" | 17 | url: "https://pub.flutter-io.cn" |
| 18 | source: hosted | 18 | source: hosted |
| 19 | - version: "2.1.2" | 19 | + version: "2.1.1" |
| 20 | characters: | 20 | characters: |
| 21 | dependency: transitive | 21 | dependency: transitive |
| 22 | description: | 22 | description: |
| 23 | name: characters | 23 | name: characters |
| 24 | - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 | 24 | + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" |
| 25 | url: "https://pub.flutter-io.cn" | 25 | url: "https://pub.flutter-io.cn" |
| 26 | source: hosted | 26 | source: hosted |
| 27 | - version: "1.4.0" | 27 | + version: "1.3.0" |
| 28 | clock: | 28 | clock: |
| 29 | dependency: transitive | 29 | dependency: transitive |
| 30 | description: | 30 | description: |
| 31 | name: clock | 31 | name: clock |
| 32 | - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b | 32 | + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf |
| 33 | url: "https://pub.flutter-io.cn" | 33 | url: "https://pub.flutter-io.cn" |
| 34 | source: hosted | 34 | source: hosted |
| 35 | - version: "1.1.2" | 35 | + version: "1.1.1" |
| 36 | collection: | 36 | collection: |
| 37 | dependency: transitive | 37 | dependency: transitive |
| 38 | description: | 38 | description: |
| 39 | name: collection | 39 | name: collection |
| 40 | - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" | 40 | + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf |
| 41 | url: "https://pub.flutter-io.cn" | 41 | url: "https://pub.flutter-io.cn" |
| 42 | source: hosted | 42 | source: hosted |
| 43 | - version: "1.19.1" | 43 | + version: "1.19.0" |
| 44 | fake_async: | 44 | fake_async: |
| 45 | dependency: transitive | 45 | dependency: transitive |
| 46 | description: | 46 | description: |
| 47 | name: fake_async | 47 | name: fake_async |
| 48 | - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" | 48 | + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" |
| 49 | url: "https://pub.flutter-io.cn" | 49 | url: "https://pub.flutter-io.cn" |
| 50 | source: hosted | 50 | source: hosted |
| 51 | - version: "1.3.2" | 51 | + version: "1.3.1" |
| 52 | flutter: | 52 | flutter: |
| 53 | dependency: "direct main" | 53 | dependency: "direct main" |
| 54 | description: flutter | 54 | description: flutter |
| @@ -71,18 +71,18 @@ packages: | @@ -71,18 +71,18 @@ packages: | ||
| 71 | dependency: transitive | 71 | dependency: transitive |
| 72 | description: | 72 | description: |
| 73 | name: leak_tracker | 73 | name: leak_tracker |
| 74 | - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec | 74 | + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" |
| 75 | url: "https://pub.flutter-io.cn" | 75 | url: "https://pub.flutter-io.cn" |
| 76 | source: hosted | 76 | source: hosted |
| 77 | - version: "10.0.8" | 77 | + version: "10.0.7" |
| 78 | leak_tracker_flutter_testing: | 78 | leak_tracker_flutter_testing: |
| 79 | dependency: transitive | 79 | dependency: transitive |
| 80 | description: | 80 | description: |
| 81 | name: leak_tracker_flutter_testing | 81 | name: leak_tracker_flutter_testing |
| 82 | - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 | 82 | + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" |
| 83 | url: "https://pub.flutter-io.cn" | 83 | url: "https://pub.flutter-io.cn" |
| 84 | source: hosted | 84 | source: hosted |
| 85 | - version: "3.0.9" | 85 | + version: "3.0.8" |
| 86 | leak_tracker_testing: | 86 | leak_tracker_testing: |
| 87 | dependency: transitive | 87 | dependency: transitive |
| 88 | description: | 88 | description: |
| @@ -103,10 +103,10 @@ packages: | @@ -103,10 +103,10 @@ packages: | ||
| 103 | dependency: transitive | 103 | dependency: transitive |
| 104 | description: | 104 | description: |
| 105 | name: matcher | 105 | name: matcher |
| 106 | - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 | 106 | + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb |
| 107 | url: "https://pub.flutter-io.cn" | 107 | url: "https://pub.flutter-io.cn" |
| 108 | source: hosted | 108 | source: hosted |
| 109 | - version: "0.12.17" | 109 | + version: "0.12.16+1" |
| 110 | material_color_utilities: | 110 | material_color_utilities: |
| 111 | dependency: transitive | 111 | dependency: transitive |
| 112 | description: | 112 | description: |
| @@ -119,18 +119,18 @@ packages: | @@ -119,18 +119,18 @@ packages: | ||
| 119 | dependency: transitive | 119 | dependency: transitive |
| 120 | description: | 120 | description: |
| 121 | name: meta | 121 | name: meta |
| 122 | - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c | 122 | + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 |
| 123 | url: "https://pub.flutter-io.cn" | 123 | url: "https://pub.flutter-io.cn" |
| 124 | source: hosted | 124 | source: hosted |
| 125 | - version: "1.16.0" | 125 | + version: "1.15.0" |
| 126 | path: | 126 | path: |
| 127 | dependency: transitive | 127 | dependency: transitive |
| 128 | description: | 128 | description: |
| 129 | name: path | 129 | name: path |
| 130 | - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" | 130 | + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" |
| 131 | url: "https://pub.flutter-io.cn" | 131 | url: "https://pub.flutter-io.cn" |
| 132 | source: hosted | 132 | source: hosted |
| 133 | - version: "1.9.1" | 133 | + version: "1.9.0" |
| 134 | scrollable_positioned_list: | 134 | scrollable_positioned_list: |
| 135 | dependency: "direct main" | 135 | dependency: "direct main" |
| 136 | description: | 136 | description: |
| @@ -148,50 +148,50 @@ packages: | @@ -148,50 +148,50 @@ packages: | ||
| 148 | dependency: transitive | 148 | dependency: transitive |
| 149 | description: | 149 | description: |
| 150 | name: source_span | 150 | name: source_span |
| 151 | - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" | 151 | + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" |
| 152 | url: "https://pub.flutter-io.cn" | 152 | url: "https://pub.flutter-io.cn" |
| 153 | source: hosted | 153 | source: hosted |
| 154 | - version: "1.10.1" | 154 | + version: "1.10.0" |
| 155 | stack_trace: | 155 | stack_trace: |
| 156 | dependency: transitive | 156 | dependency: transitive |
| 157 | description: | 157 | description: |
| 158 | name: stack_trace | 158 | name: stack_trace |
| 159 | - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" | 159 | + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" |
| 160 | url: "https://pub.flutter-io.cn" | 160 | url: "https://pub.flutter-io.cn" |
| 161 | source: hosted | 161 | source: hosted |
| 162 | - version: "1.12.1" | 162 | + version: "1.12.0" |
| 163 | stream_channel: | 163 | stream_channel: |
| 164 | dependency: transitive | 164 | dependency: transitive |
| 165 | description: | 165 | description: |
| 166 | name: stream_channel | 166 | name: stream_channel |
| 167 | - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" | 167 | + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 |
| 168 | url: "https://pub.flutter-io.cn" | 168 | url: "https://pub.flutter-io.cn" |
| 169 | source: hosted | 169 | source: hosted |
| 170 | - version: "2.1.4" | 170 | + version: "2.1.2" |
| 171 | string_scanner: | 171 | string_scanner: |
| 172 | dependency: transitive | 172 | dependency: transitive |
| 173 | description: | 173 | description: |
| 174 | name: string_scanner | 174 | name: string_scanner |
| 175 | - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" | 175 | + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" |
| 176 | url: "https://pub.flutter-io.cn" | 176 | url: "https://pub.flutter-io.cn" |
| 177 | source: hosted | 177 | source: hosted |
| 178 | - version: "1.4.1" | 178 | + version: "1.3.0" |
| 179 | term_glyph: | 179 | term_glyph: |
| 180 | dependency: transitive | 180 | dependency: transitive |
| 181 | description: | 181 | description: |
| 182 | name: term_glyph | 182 | name: term_glyph |
| 183 | - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" | 183 | + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 |
| 184 | url: "https://pub.flutter-io.cn" | 184 | url: "https://pub.flutter-io.cn" |
| 185 | source: hosted | 185 | source: hosted |
| 186 | - version: "1.2.2" | 186 | + version: "1.2.1" |
| 187 | test_api: | 187 | test_api: |
| 188 | dependency: transitive | 188 | dependency: transitive |
| 189 | description: | 189 | description: |
| 190 | name: test_api | 190 | name: test_api |
| 191 | - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd | 191 | + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" |
| 192 | url: "https://pub.flutter-io.cn" | 192 | url: "https://pub.flutter-io.cn" |
| 193 | source: hosted | 193 | source: hosted |
| 194 | - version: "0.7.4" | 194 | + version: "0.7.3" |
| 195 | vector_math: | 195 | vector_math: |
| 196 | dependency: transitive | 196 | dependency: transitive |
| 197 | description: | 197 | description: |
| @@ -204,10 +204,10 @@ packages: | @@ -204,10 +204,10 @@ packages: | ||
| 204 | dependency: transitive | 204 | dependency: transitive |
| 205 | description: | 205 | description: |
| 206 | name: vm_service | 206 | name: vm_service |
| 207 | - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" | 207 | + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b |
| 208 | url: "https://pub.flutter-io.cn" | 208 | url: "https://pub.flutter-io.cn" |
| 209 | source: hosted | 209 | source: hosted |
| 210 | - version: "14.3.1" | 210 | + version: "14.3.0" |
| 211 | sdks: | 211 | sdks: |
| 212 | - dart: ">=3.7.0-0 <4.0.0" | 212 | + dart: ">=3.4.0 <4.0.0" |
| 213 | flutter: ">=3.18.0-18.0.pre.54" | 213 | flutter: ">=3.18.0-18.0.pre.54" |
| 1 | -# example | ||
| 2 | - | ||
| 3 | -A new Flutter project. | ||
| 4 | - | ||
| 5 | -## Getting Started | ||
| 6 | - | ||
| 7 | -This project is a starting point for a Flutter application. | ||
| 8 | - | ||
| 9 | -A few resources to get you started if this is your first Flutter project: | ||
| 10 | - | ||
| 11 | -- [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) | ||
| 12 | -- [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) | ||
| 13 | - | ||
| 14 | -For help getting started with Flutter, view our | ||
| 15 | -[online documentation](https://flutter.dev/docs), which offers tutorials, | ||
| 16 | -samples, guidance on mobile development, and a full API reference. |
| 1 | -# This file configures the analyzer, which statically analyzes Dart code to | ||
| 2 | -# check for errors, warnings, and lints. | ||
| 3 | -# | ||
| 4 | -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled | ||
| 5 | -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be | ||
| 6 | -# invoked from the command line by running `flutter analyze`. | ||
| 7 | - | ||
| 8 | -# The following line activates a set of recommended lints for Flutter apps, | ||
| 9 | -# packages, and plugins designed to encourage good coding practices. | ||
| 10 | -include: package:flutter_lints/flutter.yaml | ||
| 11 | - | ||
| 12 | -linter: | ||
| 13 | - # The lint rules applied to this project can be customized in the | ||
| 14 | - # section below to disable rules from the `package:flutter_lints/flutter.yaml` | ||
| 15 | - # included above or to enable additional rules. A list of all available lints | ||
| 16 | - # and their documentation is published at | ||
| 17 | - # https://dart-lang.github.io/linter/lints/index.html. | ||
| 18 | - # | ||
| 19 | - # Instead of disabling a lint rule for the entire project in the | ||
| 20 | - # section below, it can also be suppressed for a single line of code | ||
| 21 | - # or a specific dart file by using the `// ignore: name_of_lint` and | ||
| 22 | - # `// ignore_for_file: name_of_lint` syntax on the line or in the file | ||
| 23 | - # producing the lint. | ||
| 24 | - rules: | ||
| 25 | - # avoid_print: false # Uncomment to disable the `avoid_print` rule | ||
| 26 | - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule | ||
| 27 | - | ||
| 28 | -# Additional information about this file can be found at | ||
| 29 | -# https://dart.dev/guides/language/analysis-options |
| 1 | -def localProperties = new Properties() | ||
| 2 | -def localPropertiesFile = rootProject.file('local.properties') | ||
| 3 | -if (localPropertiesFile.exists()) { | ||
| 4 | - localPropertiesFile.withReader('UTF-8') { reader -> | ||
| 5 | - localProperties.load(reader) | ||
| 6 | - } | ||
| 7 | -} | ||
| 8 | - | ||
| 9 | -def flutterRoot = localProperties.getProperty('flutter.sdk') | ||
| 10 | -if (flutterRoot == null) { | ||
| 11 | - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") | ||
| 12 | -} | ||
| 13 | - | ||
| 14 | -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') | ||
| 15 | -if (flutterVersionCode == null) { | ||
| 16 | - flutterVersionCode = '1' | ||
| 17 | -} | ||
| 18 | - | ||
| 19 | -def flutterVersionName = localProperties.getProperty('flutter.versionName') | ||
| 20 | -if (flutterVersionName == null) { | ||
| 21 | - flutterVersionName = '1.0' | ||
| 22 | -} | ||
| 23 | - | ||
| 24 | -apply plugin: 'com.android.application' | ||
| 25 | -apply plugin: 'kotlin-android' | ||
| 26 | -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" | ||
| 27 | - | ||
| 28 | -android { | ||
| 29 | - compileSdkVersion flutter.compileSdkVersion | ||
| 30 | - | ||
| 31 | - compileOptions { | ||
| 32 | - sourceCompatibility JavaVersion.VERSION_1_8 | ||
| 33 | - targetCompatibility JavaVersion.VERSION_1_8 | ||
| 34 | - } | ||
| 35 | - | ||
| 36 | - kotlinOptions { | ||
| 37 | - jvmTarget = '1.8' | ||
| 38 | - } | ||
| 39 | - | ||
| 40 | - sourceSets { | ||
| 41 | - main.java.srcDirs += 'src/main/kotlin' | ||
| 42 | - } | ||
| 43 | - | ||
| 44 | - defaultConfig { | ||
| 45 | - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). | ||
| 46 | - applicationId "com.example.example" | ||
| 47 | - minSdkVersion flutter.minSdkVersion | ||
| 48 | - targetSdkVersion flutter.targetSdkVersion | ||
| 49 | - versionCode flutterVersionCode.toInteger() | ||
| 50 | - versionName flutterVersionName | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - buildTypes { | ||
| 54 | - release { | ||
| 55 | - // TODO: Add your own signing config for the release build. | ||
| 56 | - // Signing with the debug keys for now, so `flutter run --release` works. | ||
| 57 | - signingConfig signingConfigs.debug | ||
| 58 | - } | ||
| 59 | - } | ||
| 60 | -} | ||
| 61 | - | ||
| 62 | -flutter { | ||
| 63 | - source '../..' | ||
| 64 | -} | ||
| 65 | - | ||
| 66 | -dependencies { | ||
| 67 | - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" | ||
| 68 | -} |
library/calendar_date_picker2-1.1.5/example/android/app/src/debug/AndroidManifest.xml
deleted
100644 → 0
| 1 | -<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 2 | - package="com.example.example"> | ||
| 3 | - <!-- Flutter needs it to communicate with the running application | ||
| 4 | - to allow setting breakpoints, to provide hot reload, etc. | ||
| 5 | - --> | ||
| 6 | - <uses-permission android:name="android.permission.INTERNET"/> | ||
| 7 | -</manifest> |
library/calendar_date_picker2-1.1.5/example/android/app/src/main/AndroidManifest.xml
deleted
100644 → 0
| 1 | -<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 2 | - package="com.example.example"> | ||
| 3 | - <application | ||
| 4 | - android:label="example" | ||
| 5 | - android:name="${applicationName}" | ||
| 6 | - android:icon="@mipmap/ic_launcher"> | ||
| 7 | - <activity | ||
| 8 | - android:name=".MainActivity" | ||
| 9 | - android:exported="true" | ||
| 10 | - android:launchMode="singleTop" | ||
| 11 | - android:theme="@style/LaunchTheme" | ||
| 12 | - android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" | ||
| 13 | - android:hardwareAccelerated="true" | ||
| 14 | - android:windowSoftInputMode="adjustResize"> | ||
| 15 | - <!-- Specifies an Android theme to apply to this Activity as soon as | ||
| 16 | - the Android process has started. This theme is visible to the user | ||
| 17 | - while the Flutter UI initializes. After that, this theme continues | ||
| 18 | - to determine the Window background behind the Flutter UI. --> | ||
| 19 | - <meta-data | ||
| 20 | - android:name="io.flutter.embedding.android.NormalTheme" | ||
| 21 | - android:resource="@style/NormalTheme" | ||
| 22 | - /> | ||
| 23 | - <intent-filter> | ||
| 24 | - <action android:name="android.intent.action.MAIN"/> | ||
| 25 | - <category android:name="android.intent.category.LAUNCHER"/> | ||
| 26 | - </intent-filter> | ||
| 27 | - </activity> | ||
| 28 | - <!-- Don't delete the meta-data below. | ||
| 29 | - This is used by the Flutter tool to generate GeneratedPluginRegistrant.java --> | ||
| 30 | - <meta-data | ||
| 31 | - android:name="flutterEmbedding" | ||
| 32 | - android:value="2" /> | ||
| 33 | - </application> | ||
| 34 | -</manifest> |
| 1 | -package io.flutter.plugins; | ||
| 2 | - | ||
| 3 | -import androidx.annotation.Keep; | ||
| 4 | -import androidx.annotation.NonNull; | ||
| 5 | -import io.flutter.Log; | ||
| 6 | - | ||
| 7 | -import io.flutter.embedding.engine.FlutterEngine; | ||
| 8 | - | ||
| 9 | -/** | ||
| 10 | - * Generated file. Do not edit. | ||
| 11 | - * This file is generated by the Flutter tool based on the | ||
| 12 | - * plugins that support the Android platform. | ||
| 13 | - */ | ||
| 14 | -@Keep | ||
| 15 | -public final class GeneratedPluginRegistrant { | ||
| 16 | - private static final String TAG = "GeneratedPluginRegistrant"; | ||
| 17 | - public static void registerWith(@NonNull FlutterEngine flutterEngine) { | ||
| 18 | - } | ||
| 19 | -} |
| 1 | -<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | -<!-- Modify this file to customize your launch splash screen --> | ||
| 3 | -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 4 | - <item android:drawable="?android:colorBackground" /> | ||
| 5 | - | ||
| 6 | - <!-- You can insert your own image assets here --> | ||
| 7 | - <!-- <item> | ||
| 8 | - <bitmap | ||
| 9 | - android:gravity="center" | ||
| 10 | - android:src="@mipmap/launch_image" /> | ||
| 11 | - </item> --> | ||
| 12 | -</layer-list> |
| 1 | -<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | -<!-- Modify this file to customize your launch splash screen --> | ||
| 3 | -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> | ||
| 4 | - <item android:drawable="@android:color/white" /> | ||
| 5 | - | ||
| 6 | - <!-- You can insert your own image assets here --> | ||
| 7 | - <!-- <item> | ||
| 8 | - <bitmap | ||
| 9 | - android:gravity="center" | ||
| 10 | - android:src="@mipmap/launch_image" /> | ||
| 11 | - </item> --> | ||
| 12 | -</layer-list> |
544 Bytes
442 Bytes
721 Bytes
1.01 KB
1.41 KB
library/calendar_date_picker2-1.1.5/example/android/app/src/main/res/values-night/styles.xml
deleted
100644 → 0
| 1 | -<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | -<resources> | ||
| 3 | - <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on --> | ||
| 4 | - <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar"> | ||
| 5 | - <!-- Show a splash screen on the activity. Automatically removed when | ||
| 6 | - Flutter draws its first frame --> | ||
| 7 | - <item name="android:windowBackground">@drawable/launch_background</item> | ||
| 8 | - </style> | ||
| 9 | - <!-- Theme applied to the Android Window as soon as the process has started. | ||
| 10 | - This theme determines the color of the Android Window while your | ||
| 11 | - Flutter UI initializes, as well as behind your Flutter UI while its | ||
| 12 | - running. | ||
| 13 | - | ||
| 14 | - This Theme is only used starting with V2 of Flutter's Android embedding. --> | ||
| 15 | - <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar"> | ||
| 16 | - <item name="android:windowBackground">?android:colorBackground</item> | ||
| 17 | - </style> | ||
| 18 | -</resources> |
library/calendar_date_picker2-1.1.5/example/android/app/src/main/res/values/styles.xml
deleted
100644 → 0
| 1 | -<?xml version="1.0" encoding="utf-8"?> | ||
| 2 | -<resources> | ||
| 3 | - <!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off --> | ||
| 4 | - <style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar"> | ||
| 5 | - <!-- Show a splash screen on the activity. Automatically removed when | ||
| 6 | - Flutter draws its first frame --> | ||
| 7 | - <item name="android:windowBackground">@drawable/launch_background</item> | ||
| 8 | - </style> | ||
| 9 | - <!-- Theme applied to the Android Window as soon as the process has started. | ||
| 10 | - This theme determines the color of the Android Window while your | ||
| 11 | - Flutter UI initializes, as well as behind your Flutter UI while its | ||
| 12 | - running. | ||
| 13 | - | ||
| 14 | - This Theme is only used starting with V2 of Flutter's Android embedding. --> | ||
| 15 | - <style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar"> | ||
| 16 | - <item name="android:windowBackground">?android:colorBackground</item> | ||
| 17 | - </style> | ||
| 18 | -</resources> |
library/calendar_date_picker2-1.1.5/example/android/app/src/profile/AndroidManifest.xml
deleted
100644 → 0
| 1 | -<manifest xmlns:android="http://schemas.android.com/apk/res/android" | ||
| 2 | - package="com.example.example"> | ||
| 3 | - <!-- Flutter needs it to communicate with the running application | ||
| 4 | - to allow setting breakpoints, to provide hot reload, etc. | ||
| 5 | - --> | ||
| 6 | - <uses-permission android:name="android.permission.INTERNET"/> | ||
| 7 | -</manifest> |
| 1 | -buildscript { | ||
| 2 | - ext.kotlin_version = '1.6.10' | ||
| 3 | - repositories { | ||
| 4 | - google() | ||
| 5 | - mavenCentral() | ||
| 6 | - } | ||
| 7 | - | ||
| 8 | - dependencies { | ||
| 9 | - classpath 'com.android.tools.build:gradle:4.1.0' | ||
| 10 | - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" | ||
| 11 | - } | ||
| 12 | -} | ||
| 13 | - | ||
| 14 | -allprojects { | ||
| 15 | - repositories { | ||
| 16 | - google() | ||
| 17 | - mavenCentral() | ||
| 18 | - } | ||
| 19 | -} | ||
| 20 | - | ||
| 21 | -rootProject.buildDir = '../build' | ||
| 22 | -subprojects { | ||
| 23 | - project.buildDir = "${rootProject.buildDir}/${project.name}" | ||
| 24 | -} | ||
| 25 | -subprojects { | ||
| 26 | - project.evaluationDependsOn(':app') | ||
| 27 | -} | ||
| 28 | - | ||
| 29 | -task clean(type: Delete) { | ||
| 30 | - delete rootProject.buildDir | ||
| 31 | -} |
| 1 | -include ':app' | ||
| 2 | - | ||
| 3 | -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") | ||
| 4 | -def properties = new Properties() | ||
| 5 | - | ||
| 6 | -assert localPropertiesFile.exists() | ||
| 7 | -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } | ||
| 8 | - | ||
| 9 | -def flutterSdkPath = properties.getProperty("flutter.sdk") | ||
| 10 | -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" | ||
| 11 | -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" |
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
| 3 | -<plist version="1.0"> | ||
| 4 | -<dict> | ||
| 5 | - <key>CFBundleDevelopmentRegion</key> | ||
| 6 | - <string>en</string> | ||
| 7 | - <key>CFBundleExecutable</key> | ||
| 8 | - <string>App</string> | ||
| 9 | - <key>CFBundleIdentifier</key> | ||
| 10 | - <string>io.flutter.flutter.app</string> | ||
| 11 | - <key>CFBundleInfoDictionaryVersion</key> | ||
| 12 | - <string>6.0</string> | ||
| 13 | - <key>CFBundleName</key> | ||
| 14 | - <string>App</string> | ||
| 15 | - <key>CFBundlePackageType</key> | ||
| 16 | - <string>FMWK</string> | ||
| 17 | - <key>CFBundleShortVersionString</key> | ||
| 18 | - <string>1.0</string> | ||
| 19 | - <key>CFBundleSignature</key> | ||
| 20 | - <string>????</string> | ||
| 21 | - <key>CFBundleVersion</key> | ||
| 22 | - <string>1.0</string> | ||
| 23 | - <key>MinimumOSVersion</key> | ||
| 24 | - <string>11.0</string> | ||
| 25 | -</dict> | ||
| 26 | -</plist> |
| 1 | -#include "Generated.xcconfig" |
| 1 | -// This is a generated file; do not edit or check into version control. | ||
| 2 | -FLUTTER_ROOT=/Users/naji2021/Documents/flutter | ||
| 3 | -FLUTTER_APPLICATION_PATH=/Users/naji2021/Desktop/Flutter-ReserveApp/library/calendar_date_picker2-1.1.5/example | ||
| 4 | -COCOAPODS_PARALLEL_CODE_SIGN=true | ||
| 5 | -FLUTTER_TARGET=lib/main.dart | ||
| 6 | -FLUTTER_BUILD_DIR=build | ||
| 7 | -FLUTTER_BUILD_NAME=1.0.0 | ||
| 8 | -FLUTTER_BUILD_NUMBER=1 | ||
| 9 | -EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386 | ||
| 10 | -EXCLUDED_ARCHS[sdk=iphoneos*]=armv7 | ||
| 11 | -DART_OBFUSCATION=false | ||
| 12 | -TRACK_WIDGET_CREATION=true | ||
| 13 | -TREE_SHAKE_ICONS=false | ||
| 14 | -PACKAGE_CONFIG=.dart_tool/package_config.json |
| 1 | -#include "Generated.xcconfig" |
library/calendar_date_picker2-1.1.5/example/ios/Flutter/flutter_export_environment.sh
deleted
100755 → 0
| 1 | -#!/bin/sh | ||
| 2 | -# This is a generated file; do not edit or check into version control. | ||
| 3 | -export "FLUTTER_ROOT=/Users/naji2021/Documents/flutter" | ||
| 4 | -export "FLUTTER_APPLICATION_PATH=/Users/naji2021/Desktop/Flutter-ReserveApp/library/calendar_date_picker2-1.1.5/example" | ||
| 5 | -export "COCOAPODS_PARALLEL_CODE_SIGN=true" | ||
| 6 | -export "FLUTTER_TARGET=lib/main.dart" | ||
| 7 | -export "FLUTTER_BUILD_DIR=build" | ||
| 8 | -export "FLUTTER_BUILD_NAME=1.0.0" | ||
| 9 | -export "FLUTTER_BUILD_NUMBER=1" | ||
| 10 | -export "DART_OBFUSCATION=false" | ||
| 11 | -export "TRACK_WIDGET_CREATION=true" | ||
| 12 | -export "TREE_SHAKE_ICONS=false" | ||
| 13 | -export "PACKAGE_CONFIG=.dart_tool/package_config.json" |
| 1 | -// !$*UTF8*$! | ||
| 2 | -{ | ||
| 3 | - archiveVersion = 1; | ||
| 4 | - classes = { | ||
| 5 | - }; | ||
| 6 | - objectVersion = 54; | ||
| 7 | - objects = { | ||
| 8 | - | ||
| 9 | -/* Begin PBXBuildFile section */ | ||
| 10 | - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; | ||
| 11 | - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; | ||
| 12 | - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; | ||
| 13 | - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; | ||
| 14 | - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; | ||
| 15 | - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; | ||
| 16 | -/* End PBXBuildFile section */ | ||
| 17 | - | ||
| 18 | -/* Begin PBXCopyFilesBuildPhase section */ | ||
| 19 | - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { | ||
| 20 | - isa = PBXCopyFilesBuildPhase; | ||
| 21 | - buildActionMask = 2147483647; | ||
| 22 | - dstPath = ""; | ||
| 23 | - dstSubfolderSpec = 10; | ||
| 24 | - files = ( | ||
| 25 | - ); | ||
| 26 | - name = "Embed Frameworks"; | ||
| 27 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 28 | - }; | ||
| 29 | -/* End PBXCopyFilesBuildPhase section */ | ||
| 30 | - | ||
| 31 | -/* Begin PBXFileReference section */ | ||
| 32 | - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; }; | ||
| 33 | - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; }; | ||
| 34 | - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; }; | ||
| 35 | - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; }; | ||
| 36 | - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; | ||
| 37 | - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; }; | ||
| 38 | - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; }; | ||
| 39 | - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; }; | ||
| 40 | - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; | ||
| 41 | - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; | ||
| 42 | - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; | ||
| 43 | - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; | ||
| 44 | - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; | ||
| 45 | -/* End PBXFileReference section */ | ||
| 46 | - | ||
| 47 | -/* Begin PBXFrameworksBuildPhase section */ | ||
| 48 | - 97C146EB1CF9000F007C117D /* Frameworks */ = { | ||
| 49 | - isa = PBXFrameworksBuildPhase; | ||
| 50 | - buildActionMask = 2147483647; | ||
| 51 | - files = ( | ||
| 52 | - ); | ||
| 53 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 54 | - }; | ||
| 55 | -/* End PBXFrameworksBuildPhase section */ | ||
| 56 | - | ||
| 57 | -/* Begin PBXGroup section */ | ||
| 58 | - 9740EEB11CF90186004384FC /* Flutter */ = { | ||
| 59 | - isa = PBXGroup; | ||
| 60 | - children = ( | ||
| 61 | - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, | ||
| 62 | - 9740EEB21CF90195004384FC /* Debug.xcconfig */, | ||
| 63 | - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, | ||
| 64 | - 9740EEB31CF90195004384FC /* Generated.xcconfig */, | ||
| 65 | - ); | ||
| 66 | - name = Flutter; | ||
| 67 | - sourceTree = "<group>"; | ||
| 68 | - }; | ||
| 69 | - 97C146E51CF9000F007C117D = { | ||
| 70 | - isa = PBXGroup; | ||
| 71 | - children = ( | ||
| 72 | - 9740EEB11CF90186004384FC /* Flutter */, | ||
| 73 | - 97C146F01CF9000F007C117D /* Runner */, | ||
| 74 | - 97C146EF1CF9000F007C117D /* Products */, | ||
| 75 | - ); | ||
| 76 | - sourceTree = "<group>"; | ||
| 77 | - }; | ||
| 78 | - 97C146EF1CF9000F007C117D /* Products */ = { | ||
| 79 | - isa = PBXGroup; | ||
| 80 | - children = ( | ||
| 81 | - 97C146EE1CF9000F007C117D /* Runner.app */, | ||
| 82 | - ); | ||
| 83 | - name = Products; | ||
| 84 | - sourceTree = "<group>"; | ||
| 85 | - }; | ||
| 86 | - 97C146F01CF9000F007C117D /* Runner */ = { | ||
| 87 | - isa = PBXGroup; | ||
| 88 | - children = ( | ||
| 89 | - 97C146FA1CF9000F007C117D /* Main.storyboard */, | ||
| 90 | - 97C146FD1CF9000F007C117D /* Assets.xcassets */, | ||
| 91 | - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, | ||
| 92 | - 97C147021CF9000F007C117D /* Info.plist */, | ||
| 93 | - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, | ||
| 94 | - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, | ||
| 95 | - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, | ||
| 96 | - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, | ||
| 97 | - ); | ||
| 98 | - path = Runner; | ||
| 99 | - sourceTree = "<group>"; | ||
| 100 | - }; | ||
| 101 | -/* End PBXGroup section */ | ||
| 102 | - | ||
| 103 | -/* Begin PBXNativeTarget section */ | ||
| 104 | - 97C146ED1CF9000F007C117D /* Runner */ = { | ||
| 105 | - isa = PBXNativeTarget; | ||
| 106 | - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; | ||
| 107 | - buildPhases = ( | ||
| 108 | - 9740EEB61CF901F6004384FC /* Run Script */, | ||
| 109 | - 97C146EA1CF9000F007C117D /* Sources */, | ||
| 110 | - 97C146EB1CF9000F007C117D /* Frameworks */, | ||
| 111 | - 97C146EC1CF9000F007C117D /* Resources */, | ||
| 112 | - 9705A1C41CF9048500538489 /* Embed Frameworks */, | ||
| 113 | - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, | ||
| 114 | - ); | ||
| 115 | - buildRules = ( | ||
| 116 | - ); | ||
| 117 | - dependencies = ( | ||
| 118 | - ); | ||
| 119 | - name = Runner; | ||
| 120 | - productName = Runner; | ||
| 121 | - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; | ||
| 122 | - productType = "com.apple.product-type.application"; | ||
| 123 | - }; | ||
| 124 | -/* End PBXNativeTarget section */ | ||
| 125 | - | ||
| 126 | -/* Begin PBXProject section */ | ||
| 127 | - 97C146E61CF9000F007C117D /* Project object */ = { | ||
| 128 | - isa = PBXProject; | ||
| 129 | - attributes = { | ||
| 130 | - LastUpgradeCheck = 1430; | ||
| 131 | - ORGANIZATIONNAME = ""; | ||
| 132 | - TargetAttributes = { | ||
| 133 | - 97C146ED1CF9000F007C117D = { | ||
| 134 | - CreatedOnToolsVersion = 7.3.1; | ||
| 135 | - LastSwiftMigration = 1100; | ||
| 136 | - }; | ||
| 137 | - }; | ||
| 138 | - }; | ||
| 139 | - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; | ||
| 140 | - compatibilityVersion = "Xcode 9.3"; | ||
| 141 | - developmentRegion = en; | ||
| 142 | - hasScannedForEncodings = 0; | ||
| 143 | - knownRegions = ( | ||
| 144 | - en, | ||
| 145 | - Base, | ||
| 146 | - ); | ||
| 147 | - mainGroup = 97C146E51CF9000F007C117D; | ||
| 148 | - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; | ||
| 149 | - projectDirPath = ""; | ||
| 150 | - projectRoot = ""; | ||
| 151 | - targets = ( | ||
| 152 | - 97C146ED1CF9000F007C117D /* Runner */, | ||
| 153 | - ); | ||
| 154 | - }; | ||
| 155 | -/* End PBXProject section */ | ||
| 156 | - | ||
| 157 | -/* Begin PBXResourcesBuildPhase section */ | ||
| 158 | - 97C146EC1CF9000F007C117D /* Resources */ = { | ||
| 159 | - isa = PBXResourcesBuildPhase; | ||
| 160 | - buildActionMask = 2147483647; | ||
| 161 | - files = ( | ||
| 162 | - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, | ||
| 163 | - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, | ||
| 164 | - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, | ||
| 165 | - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, | ||
| 166 | - ); | ||
| 167 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 168 | - }; | ||
| 169 | -/* End PBXResourcesBuildPhase section */ | ||
| 170 | - | ||
| 171 | -/* Begin PBXShellScriptBuildPhase section */ | ||
| 172 | - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { | ||
| 173 | - isa = PBXShellScriptBuildPhase; | ||
| 174 | - alwaysOutOfDate = 1; | ||
| 175 | - buildActionMask = 2147483647; | ||
| 176 | - files = ( | ||
| 177 | - ); | ||
| 178 | - inputPaths = ( | ||
| 179 | - "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}", | ||
| 180 | - ); | ||
| 181 | - name = "Thin Binary"; | ||
| 182 | - outputPaths = ( | ||
| 183 | - ); | ||
| 184 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 185 | - shellPath = /bin/sh; | ||
| 186 | - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; | ||
| 187 | - }; | ||
| 188 | - 9740EEB61CF901F6004384FC /* Run Script */ = { | ||
| 189 | - isa = PBXShellScriptBuildPhase; | ||
| 190 | - alwaysOutOfDate = 1; | ||
| 191 | - buildActionMask = 2147483647; | ||
| 192 | - files = ( | ||
| 193 | - ); | ||
| 194 | - inputPaths = ( | ||
| 195 | - ); | ||
| 196 | - name = "Run Script"; | ||
| 197 | - outputPaths = ( | ||
| 198 | - ); | ||
| 199 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 200 | - shellPath = /bin/sh; | ||
| 201 | - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; | ||
| 202 | - }; | ||
| 203 | -/* End PBXShellScriptBuildPhase section */ | ||
| 204 | - | ||
| 205 | -/* Begin PBXSourcesBuildPhase section */ | ||
| 206 | - 97C146EA1CF9000F007C117D /* Sources */ = { | ||
| 207 | - isa = PBXSourcesBuildPhase; | ||
| 208 | - buildActionMask = 2147483647; | ||
| 209 | - files = ( | ||
| 210 | - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, | ||
| 211 | - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, | ||
| 212 | - ); | ||
| 213 | - runOnlyForDeploymentPostprocessing = 0; | ||
| 214 | - }; | ||
| 215 | -/* End PBXSourcesBuildPhase section */ | ||
| 216 | - | ||
| 217 | -/* Begin PBXVariantGroup section */ | ||
| 218 | - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { | ||
| 219 | - isa = PBXVariantGroup; | ||
| 220 | - children = ( | ||
| 221 | - 97C146FB1CF9000F007C117D /* Base */, | ||
| 222 | - ); | ||
| 223 | - name = Main.storyboard; | ||
| 224 | - sourceTree = "<group>"; | ||
| 225 | - }; | ||
| 226 | - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { | ||
| 227 | - isa = PBXVariantGroup; | ||
| 228 | - children = ( | ||
| 229 | - 97C147001CF9000F007C117D /* Base */, | ||
| 230 | - ); | ||
| 231 | - name = LaunchScreen.storyboard; | ||
| 232 | - sourceTree = "<group>"; | ||
| 233 | - }; | ||
| 234 | -/* End PBXVariantGroup section */ | ||
| 235 | - | ||
| 236 | -/* Begin XCBuildConfiguration section */ | ||
| 237 | - 249021D3217E4FDB00AE95B9 /* Profile */ = { | ||
| 238 | - isa = XCBuildConfiguration; | ||
| 239 | - buildSettings = { | ||
| 240 | - ALWAYS_SEARCH_USER_PATHS = NO; | ||
| 241 | - CLANG_ANALYZER_NONNULL = YES; | ||
| 242 | - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||
| 243 | - CLANG_CXX_LIBRARY = "libc++"; | ||
| 244 | - CLANG_ENABLE_MODULES = YES; | ||
| 245 | - CLANG_ENABLE_OBJC_ARC = YES; | ||
| 246 | - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||
| 247 | - CLANG_WARN_BOOL_CONVERSION = YES; | ||
| 248 | - CLANG_WARN_COMMA = YES; | ||
| 249 | - CLANG_WARN_CONSTANT_CONVERSION = YES; | ||
| 250 | - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||
| 251 | - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||
| 252 | - CLANG_WARN_EMPTY_BODY = YES; | ||
| 253 | - CLANG_WARN_ENUM_CONVERSION = YES; | ||
| 254 | - CLANG_WARN_INFINITE_RECURSION = YES; | ||
| 255 | - CLANG_WARN_INT_CONVERSION = YES; | ||
| 256 | - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||
| 257 | - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||
| 258 | - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||
| 259 | - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||
| 260 | - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||
| 261 | - CLANG_WARN_STRICT_PROTOTYPES = YES; | ||
| 262 | - CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||
| 263 | - CLANG_WARN_UNREACHABLE_CODE = YES; | ||
| 264 | - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||
| 265 | - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||
| 266 | - COPY_PHASE_STRIP = NO; | ||
| 267 | - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | ||
| 268 | - ENABLE_NS_ASSERTIONS = NO; | ||
| 269 | - ENABLE_STRICT_OBJC_MSGSEND = YES; | ||
| 270 | - GCC_C_LANGUAGE_STANDARD = gnu99; | ||
| 271 | - GCC_NO_COMMON_BLOCKS = YES; | ||
| 272 | - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||
| 273 | - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||
| 274 | - GCC_WARN_UNDECLARED_SELECTOR = YES; | ||
| 275 | - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||
| 276 | - GCC_WARN_UNUSED_FUNCTION = YES; | ||
| 277 | - GCC_WARN_UNUSED_VARIABLE = YES; | ||
| 278 | - IPHONEOS_DEPLOYMENT_TARGET = 11.0; | ||
| 279 | - MTL_ENABLE_DEBUG_INFO = NO; | ||
| 280 | - SDKROOT = iphoneos; | ||
| 281 | - SUPPORTED_PLATFORMS = iphoneos; | ||
| 282 | - TARGETED_DEVICE_FAMILY = "1,2"; | ||
| 283 | - VALIDATE_PRODUCT = YES; | ||
| 284 | - }; | ||
| 285 | - name = Profile; | ||
| 286 | - }; | ||
| 287 | - 249021D4217E4FDB00AE95B9 /* Profile */ = { | ||
| 288 | - isa = XCBuildConfiguration; | ||
| 289 | - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; | ||
| 290 | - buildSettings = { | ||
| 291 | - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||
| 292 | - CLANG_ENABLE_MODULES = YES; | ||
| 293 | - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | ||
| 294 | - DEVELOPMENT_TEAM = QRBFK98XY9; | ||
| 295 | - ENABLE_BITCODE = NO; | ||
| 296 | - INFOPLIST_FILE = Runner/Info.plist; | ||
| 297 | - LD_RUNPATH_SEARCH_PATHS = ( | ||
| 298 | - "$(inherited)", | ||
| 299 | - "@executable_path/Frameworks", | ||
| 300 | - ); | ||
| 301 | - PRODUCT_BUNDLE_IDENTIFIER = com.example.example; | ||
| 302 | - PRODUCT_NAME = "$(TARGET_NAME)"; | ||
| 303 | - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | ||
| 304 | - SWIFT_VERSION = 5.0; | ||
| 305 | - VERSIONING_SYSTEM = "apple-generic"; | ||
| 306 | - }; | ||
| 307 | - name = Profile; | ||
| 308 | - }; | ||
| 309 | - 97C147031CF9000F007C117D /* Debug */ = { | ||
| 310 | - isa = XCBuildConfiguration; | ||
| 311 | - buildSettings = { | ||
| 312 | - ALWAYS_SEARCH_USER_PATHS = NO; | ||
| 313 | - CLANG_ANALYZER_NONNULL = YES; | ||
| 314 | - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||
| 315 | - CLANG_CXX_LIBRARY = "libc++"; | ||
| 316 | - CLANG_ENABLE_MODULES = YES; | ||
| 317 | - CLANG_ENABLE_OBJC_ARC = YES; | ||
| 318 | - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||
| 319 | - CLANG_WARN_BOOL_CONVERSION = YES; | ||
| 320 | - CLANG_WARN_COMMA = YES; | ||
| 321 | - CLANG_WARN_CONSTANT_CONVERSION = YES; | ||
| 322 | - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||
| 323 | - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||
| 324 | - CLANG_WARN_EMPTY_BODY = YES; | ||
| 325 | - CLANG_WARN_ENUM_CONVERSION = YES; | ||
| 326 | - CLANG_WARN_INFINITE_RECURSION = YES; | ||
| 327 | - CLANG_WARN_INT_CONVERSION = YES; | ||
| 328 | - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||
| 329 | - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||
| 330 | - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||
| 331 | - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||
| 332 | - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||
| 333 | - CLANG_WARN_STRICT_PROTOTYPES = YES; | ||
| 334 | - CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||
| 335 | - CLANG_WARN_UNREACHABLE_CODE = YES; | ||
| 336 | - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||
| 337 | - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||
| 338 | - COPY_PHASE_STRIP = NO; | ||
| 339 | - DEBUG_INFORMATION_FORMAT = dwarf; | ||
| 340 | - ENABLE_STRICT_OBJC_MSGSEND = YES; | ||
| 341 | - ENABLE_TESTABILITY = YES; | ||
| 342 | - GCC_C_LANGUAGE_STANDARD = gnu99; | ||
| 343 | - GCC_DYNAMIC_NO_PIC = NO; | ||
| 344 | - GCC_NO_COMMON_BLOCKS = YES; | ||
| 345 | - GCC_OPTIMIZATION_LEVEL = 0; | ||
| 346 | - GCC_PREPROCESSOR_DEFINITIONS = ( | ||
| 347 | - "DEBUG=1", | ||
| 348 | - "$(inherited)", | ||
| 349 | - ); | ||
| 350 | - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||
| 351 | - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||
| 352 | - GCC_WARN_UNDECLARED_SELECTOR = YES; | ||
| 353 | - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||
| 354 | - GCC_WARN_UNUSED_FUNCTION = YES; | ||
| 355 | - GCC_WARN_UNUSED_VARIABLE = YES; | ||
| 356 | - IPHONEOS_DEPLOYMENT_TARGET = 11.0; | ||
| 357 | - MTL_ENABLE_DEBUG_INFO = YES; | ||
| 358 | - ONLY_ACTIVE_ARCH = YES; | ||
| 359 | - SDKROOT = iphoneos; | ||
| 360 | - TARGETED_DEVICE_FAMILY = "1,2"; | ||
| 361 | - }; | ||
| 362 | - name = Debug; | ||
| 363 | - }; | ||
| 364 | - 97C147041CF9000F007C117D /* Release */ = { | ||
| 365 | - isa = XCBuildConfiguration; | ||
| 366 | - buildSettings = { | ||
| 367 | - ALWAYS_SEARCH_USER_PATHS = NO; | ||
| 368 | - CLANG_ANALYZER_NONNULL = YES; | ||
| 369 | - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; | ||
| 370 | - CLANG_CXX_LIBRARY = "libc++"; | ||
| 371 | - CLANG_ENABLE_MODULES = YES; | ||
| 372 | - CLANG_ENABLE_OBJC_ARC = YES; | ||
| 373 | - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; | ||
| 374 | - CLANG_WARN_BOOL_CONVERSION = YES; | ||
| 375 | - CLANG_WARN_COMMA = YES; | ||
| 376 | - CLANG_WARN_CONSTANT_CONVERSION = YES; | ||
| 377 | - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; | ||
| 378 | - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; | ||
| 379 | - CLANG_WARN_EMPTY_BODY = YES; | ||
| 380 | - CLANG_WARN_ENUM_CONVERSION = YES; | ||
| 381 | - CLANG_WARN_INFINITE_RECURSION = YES; | ||
| 382 | - CLANG_WARN_INT_CONVERSION = YES; | ||
| 383 | - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; | ||
| 384 | - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; | ||
| 385 | - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; | ||
| 386 | - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; | ||
| 387 | - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; | ||
| 388 | - CLANG_WARN_STRICT_PROTOTYPES = YES; | ||
| 389 | - CLANG_WARN_SUSPICIOUS_MOVE = YES; | ||
| 390 | - CLANG_WARN_UNREACHABLE_CODE = YES; | ||
| 391 | - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; | ||
| 392 | - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; | ||
| 393 | - COPY_PHASE_STRIP = NO; | ||
| 394 | - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; | ||
| 395 | - ENABLE_NS_ASSERTIONS = NO; | ||
| 396 | - ENABLE_STRICT_OBJC_MSGSEND = YES; | ||
| 397 | - GCC_C_LANGUAGE_STANDARD = gnu99; | ||
| 398 | - GCC_NO_COMMON_BLOCKS = YES; | ||
| 399 | - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; | ||
| 400 | - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; | ||
| 401 | - GCC_WARN_UNDECLARED_SELECTOR = YES; | ||
| 402 | - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; | ||
| 403 | - GCC_WARN_UNUSED_FUNCTION = YES; | ||
| 404 | - GCC_WARN_UNUSED_VARIABLE = YES; | ||
| 405 | - IPHONEOS_DEPLOYMENT_TARGET = 11.0; | ||
| 406 | - MTL_ENABLE_DEBUG_INFO = NO; | ||
| 407 | - SDKROOT = iphoneos; | ||
| 408 | - SUPPORTED_PLATFORMS = iphoneos; | ||
| 409 | - SWIFT_COMPILATION_MODE = wholemodule; | ||
| 410 | - SWIFT_OPTIMIZATION_LEVEL = "-O"; | ||
| 411 | - TARGETED_DEVICE_FAMILY = "1,2"; | ||
| 412 | - VALIDATE_PRODUCT = YES; | ||
| 413 | - }; | ||
| 414 | - name = Release; | ||
| 415 | - }; | ||
| 416 | - 97C147061CF9000F007C117D /* Debug */ = { | ||
| 417 | - isa = XCBuildConfiguration; | ||
| 418 | - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; | ||
| 419 | - buildSettings = { | ||
| 420 | - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||
| 421 | - CLANG_ENABLE_MODULES = YES; | ||
| 422 | - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | ||
| 423 | - DEVELOPMENT_TEAM = QRBFK98XY9; | ||
| 424 | - ENABLE_BITCODE = NO; | ||
| 425 | - INFOPLIST_FILE = Runner/Info.plist; | ||
| 426 | - LD_RUNPATH_SEARCH_PATHS = ( | ||
| 427 | - "$(inherited)", | ||
| 428 | - "@executable_path/Frameworks", | ||
| 429 | - ); | ||
| 430 | - PRODUCT_BUNDLE_IDENTIFIER = com.example.example; | ||
| 431 | - PRODUCT_NAME = "$(TARGET_NAME)"; | ||
| 432 | - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | ||
| 433 | - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; | ||
| 434 | - SWIFT_VERSION = 5.0; | ||
| 435 | - VERSIONING_SYSTEM = "apple-generic"; | ||
| 436 | - }; | ||
| 437 | - name = Debug; | ||
| 438 | - }; | ||
| 439 | - 97C147071CF9000F007C117D /* Release */ = { | ||
| 440 | - isa = XCBuildConfiguration; | ||
| 441 | - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; | ||
| 442 | - buildSettings = { | ||
| 443 | - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; | ||
| 444 | - CLANG_ENABLE_MODULES = YES; | ||
| 445 | - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; | ||
| 446 | - DEVELOPMENT_TEAM = QRBFK98XY9; | ||
| 447 | - ENABLE_BITCODE = NO; | ||
| 448 | - INFOPLIST_FILE = Runner/Info.plist; | ||
| 449 | - LD_RUNPATH_SEARCH_PATHS = ( | ||
| 450 | - "$(inherited)", | ||
| 451 | - "@executable_path/Frameworks", | ||
| 452 | - ); | ||
| 453 | - PRODUCT_BUNDLE_IDENTIFIER = com.example.example; | ||
| 454 | - PRODUCT_NAME = "$(TARGET_NAME)"; | ||
| 455 | - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; | ||
| 456 | - SWIFT_VERSION = 5.0; | ||
| 457 | - VERSIONING_SYSTEM = "apple-generic"; | ||
| 458 | - }; | ||
| 459 | - name = Release; | ||
| 460 | - }; | ||
| 461 | -/* End XCBuildConfiguration section */ | ||
| 462 | - | ||
| 463 | -/* Begin XCConfigurationList section */ | ||
| 464 | - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { | ||
| 465 | - isa = XCConfigurationList; | ||
| 466 | - buildConfigurations = ( | ||
| 467 | - 97C147031CF9000F007C117D /* Debug */, | ||
| 468 | - 97C147041CF9000F007C117D /* Release */, | ||
| 469 | - 249021D3217E4FDB00AE95B9 /* Profile */, | ||
| 470 | - ); | ||
| 471 | - defaultConfigurationIsVisible = 0; | ||
| 472 | - defaultConfigurationName = Release; | ||
| 473 | - }; | ||
| 474 | - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { | ||
| 475 | - isa = XCConfigurationList; | ||
| 476 | - buildConfigurations = ( | ||
| 477 | - 97C147061CF9000F007C117D /* Debug */, | ||
| 478 | - 97C147071CF9000F007C117D /* Release */, | ||
| 479 | - 249021D4217E4FDB00AE95B9 /* Profile */, | ||
| 480 | - ); | ||
| 481 | - defaultConfigurationIsVisible = 0; | ||
| 482 | - defaultConfigurationName = Release; | ||
| 483 | - }; | ||
| 484 | -/* End XCConfigurationList section */ | ||
| 485 | - }; | ||
| 486 | - rootObject = 97C146E61CF9000F007C117D /* Project object */; | ||
| 487 | -} |
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<Scheme | ||
| 3 | - LastUpgradeVersion = "1430" | ||
| 4 | - version = "1.3"> | ||
| 5 | - <BuildAction | ||
| 6 | - parallelizeBuildables = "YES" | ||
| 7 | - buildImplicitDependencies = "YES"> | ||
| 8 | - <BuildActionEntries> | ||
| 9 | - <BuildActionEntry | ||
| 10 | - buildForTesting = "YES" | ||
| 11 | - buildForRunning = "YES" | ||
| 12 | - buildForProfiling = "YES" | ||
| 13 | - buildForArchiving = "YES" | ||
| 14 | - buildForAnalyzing = "YES"> | ||
| 15 | - <BuildableReference | ||
| 16 | - BuildableIdentifier = "primary" | ||
| 17 | - BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||
| 18 | - BuildableName = "Runner.app" | ||
| 19 | - BlueprintName = "Runner" | ||
| 20 | - ReferencedContainer = "container:Runner.xcodeproj"> | ||
| 21 | - </BuildableReference> | ||
| 22 | - </BuildActionEntry> | ||
| 23 | - </BuildActionEntries> | ||
| 24 | - </BuildAction> | ||
| 25 | - <TestAction | ||
| 26 | - buildConfiguration = "Debug" | ||
| 27 | - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||
| 28 | - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||
| 29 | - shouldUseLaunchSchemeArgsEnv = "YES"> | ||
| 30 | - <MacroExpansion> | ||
| 31 | - <BuildableReference | ||
| 32 | - BuildableIdentifier = "primary" | ||
| 33 | - BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||
| 34 | - BuildableName = "Runner.app" | ||
| 35 | - BlueprintName = "Runner" | ||
| 36 | - ReferencedContainer = "container:Runner.xcodeproj"> | ||
| 37 | - </BuildableReference> | ||
| 38 | - </MacroExpansion> | ||
| 39 | - <Testables> | ||
| 40 | - </Testables> | ||
| 41 | - </TestAction> | ||
| 42 | - <LaunchAction | ||
| 43 | - buildConfiguration = "Debug" | ||
| 44 | - selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" | ||
| 45 | - selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" | ||
| 46 | - launchStyle = "0" | ||
| 47 | - useCustomWorkingDirectory = "NO" | ||
| 48 | - ignoresPersistentStateOnLaunch = "NO" | ||
| 49 | - debugDocumentVersioning = "YES" | ||
| 50 | - debugServiceExtension = "internal" | ||
| 51 | - allowLocationSimulation = "YES"> | ||
| 52 | - <BuildableProductRunnable | ||
| 53 | - runnableDebuggingMode = "0"> | ||
| 54 | - <BuildableReference | ||
| 55 | - BuildableIdentifier = "primary" | ||
| 56 | - BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||
| 57 | - BuildableName = "Runner.app" | ||
| 58 | - BlueprintName = "Runner" | ||
| 59 | - ReferencedContainer = "container:Runner.xcodeproj"> | ||
| 60 | - </BuildableReference> | ||
| 61 | - </BuildableProductRunnable> | ||
| 62 | - </LaunchAction> | ||
| 63 | - <ProfileAction | ||
| 64 | - buildConfiguration = "Profile" | ||
| 65 | - shouldUseLaunchSchemeArgsEnv = "YES" | ||
| 66 | - savedToolIdentifier = "" | ||
| 67 | - useCustomWorkingDirectory = "NO" | ||
| 68 | - debugDocumentVersioning = "YES"> | ||
| 69 | - <BuildableProductRunnable | ||
| 70 | - runnableDebuggingMode = "0"> | ||
| 71 | - <BuildableReference | ||
| 72 | - BuildableIdentifier = "primary" | ||
| 73 | - BlueprintIdentifier = "97C146ED1CF9000F007C117D" | ||
| 74 | - BuildableName = "Runner.app" | ||
| 75 | - BlueprintName = "Runner" | ||
| 76 | - ReferencedContainer = "container:Runner.xcodeproj"> | ||
| 77 | - </BuildableReference> | ||
| 78 | - </BuildableProductRunnable> | ||
| 79 | - </ProfileAction> | ||
| 80 | - <AnalyzeAction | ||
| 81 | - buildConfiguration = "Debug"> | ||
| 82 | - </AnalyzeAction> | ||
| 83 | - <ArchiveAction | ||
| 84 | - buildConfiguration = "Release" | ||
| 85 | - revealArchiveInOrganizer = "YES"> | ||
| 86 | - </ArchiveAction> | ||
| 87 | -</Scheme> |
| 1 | -import UIKit | ||
| 2 | -import Flutter | ||
| 3 | - | ||
| 4 | -@UIApplicationMain | ||
| 5 | -@objc class AppDelegate: FlutterAppDelegate { | ||
| 6 | - override func application( | ||
| 7 | - _ application: UIApplication, | ||
| 8 | - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? | ||
| 9 | - ) -> Bool { | ||
| 10 | - GeneratedPluginRegistrant.register(with: self) | ||
| 11 | - return super.application(application, didFinishLaunchingWithOptions: launchOptions) | ||
| 12 | - } | ||
| 13 | -} |
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "size" : "20x20", | ||
| 5 | - "idiom" : "iphone", | ||
| 6 | - "filename" : "Icon-App-20x20@2x.png", | ||
| 7 | - "scale" : "2x" | ||
| 8 | - }, | ||
| 9 | - { | ||
| 10 | - "size" : "20x20", | ||
| 11 | - "idiom" : "iphone", | ||
| 12 | - "filename" : "Icon-App-20x20@3x.png", | ||
| 13 | - "scale" : "3x" | ||
| 14 | - }, | ||
| 15 | - { | ||
| 16 | - "size" : "29x29", | ||
| 17 | - "idiom" : "iphone", | ||
| 18 | - "filename" : "Icon-App-29x29@1x.png", | ||
| 19 | - "scale" : "1x" | ||
| 20 | - }, | ||
| 21 | - { | ||
| 22 | - "size" : "29x29", | ||
| 23 | - "idiom" : "iphone", | ||
| 24 | - "filename" : "Icon-App-29x29@2x.png", | ||
| 25 | - "scale" : "2x" | ||
| 26 | - }, | ||
| 27 | - { | ||
| 28 | - "size" : "29x29", | ||
| 29 | - "idiom" : "iphone", | ||
| 30 | - "filename" : "Icon-App-29x29@3x.png", | ||
| 31 | - "scale" : "3x" | ||
| 32 | - }, | ||
| 33 | - { | ||
| 34 | - "size" : "40x40", | ||
| 35 | - "idiom" : "iphone", | ||
| 36 | - "filename" : "Icon-App-40x40@2x.png", | ||
| 37 | - "scale" : "2x" | ||
| 38 | - }, | ||
| 39 | - { | ||
| 40 | - "size" : "40x40", | ||
| 41 | - "idiom" : "iphone", | ||
| 42 | - "filename" : "Icon-App-40x40@3x.png", | ||
| 43 | - "scale" : "3x" | ||
| 44 | - }, | ||
| 45 | - { | ||
| 46 | - "size" : "60x60", | ||
| 47 | - "idiom" : "iphone", | ||
| 48 | - "filename" : "Icon-App-60x60@2x.png", | ||
| 49 | - "scale" : "2x" | ||
| 50 | - }, | ||
| 51 | - { | ||
| 52 | - "size" : "60x60", | ||
| 53 | - "idiom" : "iphone", | ||
| 54 | - "filename" : "Icon-App-60x60@3x.png", | ||
| 55 | - "scale" : "3x" | ||
| 56 | - }, | ||
| 57 | - { | ||
| 58 | - "size" : "20x20", | ||
| 59 | - "idiom" : "ipad", | ||
| 60 | - "filename" : "Icon-App-20x20@1x.png", | ||
| 61 | - "scale" : "1x" | ||
| 62 | - }, | ||
| 63 | - { | ||
| 64 | - "size" : "20x20", | ||
| 65 | - "idiom" : "ipad", | ||
| 66 | - "filename" : "Icon-App-20x20@2x.png", | ||
| 67 | - "scale" : "2x" | ||
| 68 | - }, | ||
| 69 | - { | ||
| 70 | - "size" : "29x29", | ||
| 71 | - "idiom" : "ipad", | ||
| 72 | - "filename" : "Icon-App-29x29@1x.png", | ||
| 73 | - "scale" : "1x" | ||
| 74 | - }, | ||
| 75 | - { | ||
| 76 | - "size" : "29x29", | ||
| 77 | - "idiom" : "ipad", | ||
| 78 | - "filename" : "Icon-App-29x29@2x.png", | ||
| 79 | - "scale" : "2x" | ||
| 80 | - }, | ||
| 81 | - { | ||
| 82 | - "size" : "40x40", | ||
| 83 | - "idiom" : "ipad", | ||
| 84 | - "filename" : "Icon-App-40x40@1x.png", | ||
| 85 | - "scale" : "1x" | ||
| 86 | - }, | ||
| 87 | - { | ||
| 88 | - "size" : "40x40", | ||
| 89 | - "idiom" : "ipad", | ||
| 90 | - "filename" : "Icon-App-40x40@2x.png", | ||
| 91 | - "scale" : "2x" | ||
| 92 | - }, | ||
| 93 | - { | ||
| 94 | - "size" : "76x76", | ||
| 95 | - "idiom" : "ipad", | ||
| 96 | - "filename" : "Icon-App-76x76@1x.png", | ||
| 97 | - "scale" : "1x" | ||
| 98 | - }, | ||
| 99 | - { | ||
| 100 | - "size" : "76x76", | ||
| 101 | - "idiom" : "ipad", | ||
| 102 | - "filename" : "Icon-App-76x76@2x.png", | ||
| 103 | - "scale" : "2x" | ||
| 104 | - }, | ||
| 105 | - { | ||
| 106 | - "size" : "83.5x83.5", | ||
| 107 | - "idiom" : "ipad", | ||
| 108 | - "filename" : "Icon-App-83.5x83.5@2x.png", | ||
| 109 | - "scale" : "2x" | ||
| 110 | - }, | ||
| 111 | - { | ||
| 112 | - "size" : "1024x1024", | ||
| 113 | - "idiom" : "ios-marketing", | ||
| 114 | - "filename" : "Icon-App-1024x1024@1x.png", | ||
| 115 | - "scale" : "1x" | ||
| 116 | - } | ||
| 117 | - ], | ||
| 118 | - "info" : { | ||
| 119 | - "version" : 1, | ||
| 120 | - "author" : "xcode" | ||
| 121 | - } | ||
| 122 | -} |
10.7 KB
564 Bytes
1.25 KB
1.55 KB
1 KB
1.68 KB
1.88 KB
1.25 KB
1.85 KB
2.6 KB
2.6 KB
3.74 KB
1.84 KB
3.22 KB
3.53 KB
| 1 | -{ | ||
| 2 | - "images" : [ | ||
| 3 | - { | ||
| 4 | - "idiom" : "universal", | ||
| 5 | - "filename" : "LaunchImage.png", | ||
| 6 | - "scale" : "1x" | ||
| 7 | - }, | ||
| 8 | - { | ||
| 9 | - "idiom" : "universal", | ||
| 10 | - "filename" : "LaunchImage@2x.png", | ||
| 11 | - "scale" : "2x" | ||
| 12 | - }, | ||
| 13 | - { | ||
| 14 | - "idiom" : "universal", | ||
| 15 | - "filename" : "LaunchImage@3x.png", | ||
| 16 | - "scale" : "3x" | ||
| 17 | - } | ||
| 18 | - ], | ||
| 19 | - "info" : { | ||
| 20 | - "version" : 1, | ||
| 21 | - "author" : "xcode" | ||
| 22 | - } | ||
| 23 | -} |
68 Bytes
68 Bytes
68 Bytes
| 1 | -# Launch Screen Assets | ||
| 2 | - | ||
| 3 | -You can customize the launch screen with your own desired assets by replacing the image files in this directory. | ||
| 4 | - | ||
| 5 | -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. |
library/calendar_date_picker2-1.1.5/example/ios/Runner/Base.lproj/LaunchScreen.storyboard
deleted
100644 → 0
| 1 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
| 2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16G29" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> | ||
| 3 | - <dependencies> | ||
| 4 | - <deployment identifier="iOS"/> | ||
| 5 | - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/> | ||
| 6 | - </dependencies> | ||
| 7 | - <scenes> | ||
| 8 | - <!--View Controller--> | ||
| 9 | - <scene sceneID="EHf-IW-A2E"> | ||
| 10 | - <objects> | ||
| 11 | - <viewController id="01J-lp-oVM" sceneMemberID="viewController"> | ||
| 12 | - <layoutGuides> | ||
| 13 | - <viewControllerLayoutGuide type="top" id="Ydg-fD-yQy"/> | ||
| 14 | - <viewControllerLayoutGuide type="bottom" id="xbc-2k-c8Z"/> | ||
| 15 | - </layoutGuides> | ||
| 16 | - <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> | ||
| 17 | - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
| 18 | - <subviews> | ||
| 19 | - <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4"> | ||
| 20 | - </imageView> | ||
| 21 | - </subviews> | ||
| 22 | - <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> | ||
| 23 | - <constraints> | ||
| 24 | - <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="1a2-6s-vTC"/> | ||
| 25 | - <constraint firstItem="YRO-k0-Ey4" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="4X2-HB-R7a"/> | ||
| 26 | - </constraints> | ||
| 27 | - </view> | ||
| 28 | - </viewController> | ||
| 29 | - <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> | ||
| 30 | - </objects> | ||
| 31 | - <point key="canvasLocation" x="53" y="375"/> | ||
| 32 | - </scene> | ||
| 33 | - </scenes> | ||
| 34 | - <resources> | ||
| 35 | - <image name="LaunchImage" width="168" height="185"/> | ||
| 36 | - </resources> | ||
| 37 | -</document> |
library/calendar_date_picker2-1.1.5/example/ios/Runner/Base.lproj/Main.storyboard
deleted
100644 → 0
| 1 | -<?xml version="1.0" encoding="UTF-8" standalone="no"?> | ||
| 2 | -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"> | ||
| 3 | - <dependencies> | ||
| 4 | - <deployment identifier="iOS"/> | ||
| 5 | - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/> | ||
| 6 | - </dependencies> | ||
| 7 | - <scenes> | ||
| 8 | - <!--Flutter View Controller--> | ||
| 9 | - <scene sceneID="tne-QT-ifu"> | ||
| 10 | - <objects> | ||
| 11 | - <viewController id="BYZ-38-t0r" customClass="FlutterViewController" sceneMemberID="viewController"> | ||
| 12 | - <layoutGuides> | ||
| 13 | - <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> | ||
| 14 | - <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> | ||
| 15 | - </layoutGuides> | ||
| 16 | - <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> | ||
| 17 | - <rect key="frame" x="0.0" y="0.0" width="600" height="600"/> | ||
| 18 | - <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | ||
| 19 | - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> | ||
| 20 | - </view> | ||
| 21 | - </viewController> | ||
| 22 | - <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> | ||
| 23 | - </objects> | ||
| 24 | - </scene> | ||
| 25 | - </scenes> | ||
| 26 | -</document> |
library/calendar_date_picker2-1.1.5/example/ios/Runner/GeneratedPluginRegistrant.h
deleted
100644 → 0
| 1 | -// | ||
| 2 | -// Generated file. Do not edit. | ||
| 3 | -// | ||
| 4 | - | ||
| 5 | -// clang-format off | ||
| 6 | - | ||
| 7 | -#ifndef GeneratedPluginRegistrant_h | ||
| 8 | -#define GeneratedPluginRegistrant_h | ||
| 9 | - | ||
| 10 | -#import <Flutter/Flutter.h> | ||
| 11 | - | ||
| 12 | -NS_ASSUME_NONNULL_BEGIN | ||
| 13 | - | ||
| 14 | -@interface GeneratedPluginRegistrant : NSObject | ||
| 15 | -+ (void)registerWithRegistry:(NSObject<FlutterPluginRegistry>*)registry; | ||
| 16 | -@end | ||
| 17 | - | ||
| 18 | -NS_ASSUME_NONNULL_END | ||
| 19 | -#endif /* GeneratedPluginRegistrant_h */ |
| 1 | -<?xml version="1.0" encoding="UTF-8"?> | ||
| 2 | -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
| 3 | -<plist version="1.0"> | ||
| 4 | -<dict> | ||
| 5 | - <key>CFBundleDevelopmentRegion</key> | ||
| 6 | - <string>$(DEVELOPMENT_LANGUAGE)</string> | ||
| 7 | - <key>CFBundleDisplayName</key> | ||
| 8 | - <string>Example</string> | ||
| 9 | - <key>CFBundleExecutable</key> | ||
| 10 | - <string>$(EXECUTABLE_NAME)</string> | ||
| 11 | - <key>CFBundleIdentifier</key> | ||
| 12 | - <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> | ||
| 13 | - <key>CFBundleInfoDictionaryVersion</key> | ||
| 14 | - <string>6.0</string> | ||
| 15 | - <key>CFBundleName</key> | ||
| 16 | - <string>example</string> | ||
| 17 | - <key>CFBundlePackageType</key> | ||
| 18 | - <string>APPL</string> | ||
| 19 | - <key>CFBundleShortVersionString</key> | ||
| 20 | - <string>$(FLUTTER_BUILD_NAME)</string> | ||
| 21 | - <key>CFBundleSignature</key> | ||
| 22 | - <string>????</string> | ||
| 23 | - <key>CFBundleVersion</key> | ||
| 24 | - <string>$(FLUTTER_BUILD_NUMBER)</string> | ||
| 25 | - <key>LSRequiresIPhoneOS</key> | ||
| 26 | - <true/> | ||
| 27 | - <key>UILaunchStoryboardName</key> | ||
| 28 | - <string>LaunchScreen</string> | ||
| 29 | - <key>UIMainStoryboardFile</key> | ||
| 30 | - <string>Main</string> | ||
| 31 | - <key>UISupportedInterfaceOrientations</key> | ||
| 32 | - <array> | ||
| 33 | - <string>UIInterfaceOrientationPortrait</string> | ||
| 34 | - <string>UIInterfaceOrientationLandscapeLeft</string> | ||
| 35 | - <string>UIInterfaceOrientationLandscapeRight</string> | ||
| 36 | - </array> | ||
| 37 | - <key>UISupportedInterfaceOrientations~ipad</key> | ||
| 38 | - <array> | ||
| 39 | - <string>UIInterfaceOrientationPortrait</string> | ||
| 40 | - <string>UIInterfaceOrientationPortraitUpsideDown</string> | ||
| 41 | - <string>UIInterfaceOrientationLandscapeLeft</string> | ||
| 42 | - <string>UIInterfaceOrientationLandscapeRight</string> | ||
| 43 | - </array> | ||
| 44 | - <key>UIViewControllerBasedStatusBarAppearance</key> | ||
| 45 | - <false/> | ||
| 46 | - <key>CADisableMinimumFrameDurationOnPhone</key> | ||
| 47 | - <true/> | ||
| 48 | - <key>UIApplicationSupportsIndirectInputEvents</key> | ||
| 49 | - <true/> | ||
| 50 | -</dict> | ||
| 51 | -</plist> |
| 1 | -#import "GeneratedPluginRegistrant.h" |
| 1 | -import 'package:calendar_date_picker2/calendar_date_picker2.dart'; | ||
| 2 | -import 'package:flutter/material.dart'; | ||
| 3 | -import 'package:flutter_localizations/flutter_localizations.dart'; | ||
| 4 | - | ||
| 5 | -final today = DateUtils.dateOnly(DateTime.now()); | ||
| 6 | - | ||
| 7 | -void main() { | ||
| 8 | - runApp(const MyApp()); | ||
| 9 | -} | ||
| 10 | - | ||
| 11 | -class MyApp extends StatelessWidget { | ||
| 12 | - const MyApp({Key? key}) : super(key: key); | ||
| 13 | - | ||
| 14 | - @override | ||
| 15 | - Widget build(BuildContext context) { | ||
| 16 | - return MaterialApp( | ||
| 17 | - title: 'CalendarDatePicker2 Demo', | ||
| 18 | - theme: ThemeData( | ||
| 19 | - primarySwatch: Colors.blue, | ||
| 20 | - ), | ||
| 21 | - localizationsDelegates: GlobalMaterialLocalizations.delegates, | ||
| 22 | - supportedLocales: const [ | ||
| 23 | - Locale('en', ''), | ||
| 24 | - Locale('zh', ''), | ||
| 25 | - Locale('he', ''), | ||
| 26 | - Locale('es', ''), | ||
| 27 | - Locale('ru', ''), | ||
| 28 | - Locale('ko', ''), | ||
| 29 | - Locale('hi', ''), | ||
| 30 | - ], | ||
| 31 | - home: const MyHomePage(title: 'CalendarDatePicker2 Demo'), | ||
| 32 | - ); | ||
| 33 | - } | ||
| 34 | -} | ||
| 35 | - | ||
| 36 | -class MyHomePage extends StatefulWidget { | ||
| 37 | - const MyHomePage({Key? key, required this.title}) : super(key: key); | ||
| 38 | - | ||
| 39 | - final String title; | ||
| 40 | - | ||
| 41 | - @override | ||
| 42 | - State<MyHomePage> createState() => _MyHomePageState(); | ||
| 43 | -} | ||
| 44 | - | ||
| 45 | -class _MyHomePageState extends State<MyHomePage> { | ||
| 46 | - final _scrollController = ScrollController(); | ||
| 47 | - List<DateTime?> _dialogCalendarPickerValue = [ | ||
| 48 | - DateTime(2021, 8, 10), | ||
| 49 | - DateTime(2021, 8, 13), | ||
| 50 | - ]; | ||
| 51 | - List<DateTime?> _singleDatePickerValueWithDefaultValue = [ | ||
| 52 | - DateTime.now().add(const Duration(days: 1)), | ||
| 53 | - ]; | ||
| 54 | - List<DateTime?> _multiDatePickerValueWithDefaultValue = [ | ||
| 55 | - DateTime(today.year, today.month, 1), | ||
| 56 | - DateTime(today.year, today.month, 5), | ||
| 57 | - DateTime(today.year, today.month, 14), | ||
| 58 | - DateTime(today.year, today.month, 17), | ||
| 59 | - DateTime(today.year, today.month, 25), | ||
| 60 | - ]; | ||
| 61 | - List<DateTime?> _rangeDatePickerValueWithDefaultValue = [ | ||
| 62 | - DateTime(1999, 5, 6), | ||
| 63 | - DateTime(1999, 5, 21), | ||
| 64 | - ]; | ||
| 65 | - | ||
| 66 | - List<DateTime?> _rangeDatePickerWithActionButtonsWithValue = [ | ||
| 67 | - DateTime.now(), | ||
| 68 | - DateTime.now().add(const Duration(days: 5)), | ||
| 69 | - ]; | ||
| 70 | - | ||
| 71 | - @override | ||
| 72 | - void initState() { | ||
| 73 | - _scrollController.addListener(() { | ||
| 74 | - if (_scrollController.offset > 1000) { | ||
| 75 | - // ignore: avoid_print | ||
| 76 | - print('scrolling distance: ${_scrollController.offset}'); | ||
| 77 | - } | ||
| 78 | - }); | ||
| 79 | - super.initState(); | ||
| 80 | - } | ||
| 81 | - | ||
| 82 | - @override | ||
| 83 | - Widget build(BuildContext context) { | ||
| 84 | - return Scaffold( | ||
| 85 | - appBar: AppBar( | ||
| 86 | - title: Text(widget.title), | ||
| 87 | - ), | ||
| 88 | - body: SingleChildScrollView( | ||
| 89 | - child: Column( | ||
| 90 | - crossAxisAlignment: CrossAxisAlignment.stretch, | ||
| 91 | - children: [ | ||
| 92 | - Wrap( | ||
| 93 | - alignment: WrapAlignment.center, | ||
| 94 | - children: <Widget>[ | ||
| 95 | - _buildCalendarDialogButton(), | ||
| 96 | - _buildSingleDatePickerWithValue(), | ||
| 97 | - _buildMultiDatePickerWithValue(), | ||
| 98 | - _buildRangeDatePickerWithValue(), | ||
| 99 | - _buildCalendarWithActionButtons(), | ||
| 100 | - ], | ||
| 101 | - ), | ||
| 102 | - Wrap( | ||
| 103 | - alignment: WrapAlignment.center, | ||
| 104 | - children: <Widget>[ | ||
| 105 | - _buildScrollCalendarDialogButton(), | ||
| 106 | - _buildScrollSingleDatePickerWithValue(), | ||
| 107 | - _buildScrollMultiDatePickerWithValue(), | ||
| 108 | - _buildScrollRangeDatePickerWithValue(), | ||
| 109 | - _buildScrollCalendarWithActionButtons(), | ||
| 110 | - ], | ||
| 111 | - ), | ||
| 112 | - ], | ||
| 113 | - ), | ||
| 114 | - ), | ||
| 115 | - ); | ||
| 116 | - } | ||
| 117 | - | ||
| 118 | - String _getValueText( | ||
| 119 | - CalendarDatePicker2Type datePickerType, | ||
| 120 | - List<DateTime?> values, | ||
| 121 | - ) { | ||
| 122 | - values = | ||
| 123 | - values.map((e) => e != null ? DateUtils.dateOnly(e) : null).toList(); | ||
| 124 | - var valueText = (values.isNotEmpty ? values[0] : null) | ||
| 125 | - .toString() | ||
| 126 | - .replaceAll('00:00:00.000', ''); | ||
| 127 | - | ||
| 128 | - if (datePickerType == CalendarDatePicker2Type.multi) { | ||
| 129 | - valueText = values.isNotEmpty | ||
| 130 | - ? values | ||
| 131 | - .map((v) => v.toString().replaceAll('00:00:00.000', '')) | ||
| 132 | - .join(', ') | ||
| 133 | - : 'null'; | ||
| 134 | - } else if (datePickerType == CalendarDatePicker2Type.range) { | ||
| 135 | - if (values.isNotEmpty) { | ||
| 136 | - final startDate = values[0].toString().replaceAll('00:00:00.000', ''); | ||
| 137 | - final endDate = values.length > 1 | ||
| 138 | - ? values[1].toString().replaceAll('00:00:00.000', '') | ||
| 139 | - : 'null'; | ||
| 140 | - valueText = '$startDate to $endDate'; | ||
| 141 | - } else { | ||
| 142 | - return 'null'; | ||
| 143 | - } | ||
| 144 | - } | ||
| 145 | - | ||
| 146 | - return valueText; | ||
| 147 | - } | ||
| 148 | - | ||
| 149 | - _buildCalendarDialogButton() { | ||
| 150 | - const dayTextStyle = | ||
| 151 | - TextStyle(color: Colors.black, fontWeight: FontWeight.w700); | ||
| 152 | - final weekendTextStyle = | ||
| 153 | - TextStyle(color: Colors.grey[500], fontWeight: FontWeight.w600); | ||
| 154 | - final anniversaryTextStyle = TextStyle( | ||
| 155 | - color: Colors.red[400], | ||
| 156 | - fontWeight: FontWeight.w700, | ||
| 157 | - decoration: TextDecoration.underline, | ||
| 158 | - ); | ||
| 159 | - final config = CalendarDatePicker2WithActionButtonsConfig( | ||
| 160 | - calendarViewScrollPhysics: const NeverScrollableScrollPhysics(), | ||
| 161 | - dayTextStyle: dayTextStyle, | ||
| 162 | - calendarType: CalendarDatePicker2Type.range, | ||
| 163 | - selectedDayHighlightColor: Colors.purple[800], | ||
| 164 | - closeDialogOnCancelTapped: true, | ||
| 165 | - firstDayOfWeek: 1, | ||
| 166 | - weekdayLabelTextStyle: const TextStyle( | ||
| 167 | - color: Colors.black87, | ||
| 168 | - fontWeight: FontWeight.bold, | ||
| 169 | - ), | ||
| 170 | - controlsTextStyle: const TextStyle( | ||
| 171 | - color: Colors.black, | ||
| 172 | - fontSize: 15, | ||
| 173 | - fontWeight: FontWeight.bold, | ||
| 174 | - ), | ||
| 175 | - centerAlignModePicker: true, | ||
| 176 | - customModePickerIcon: const SizedBox(), | ||
| 177 | - selectedDayTextStyle: dayTextStyle.copyWith(color: Colors.white), | ||
| 178 | - dayTextStylePredicate: ({required date}) { | ||
| 179 | - TextStyle? textStyle; | ||
| 180 | - if (date.weekday == DateTime.saturday || | ||
| 181 | - date.weekday == DateTime.sunday) { | ||
| 182 | - textStyle = weekendTextStyle; | ||
| 183 | - } | ||
| 184 | - if (DateUtils.isSameDay(date, DateTime(2021, 1, 25))) { | ||
| 185 | - textStyle = anniversaryTextStyle; | ||
| 186 | - } | ||
| 187 | - return textStyle; | ||
| 188 | - }, | ||
| 189 | - dayBuilder: ({ | ||
| 190 | - required date, | ||
| 191 | - textStyle, | ||
| 192 | - decoration, | ||
| 193 | - isSelected, | ||
| 194 | - isDisabled, | ||
| 195 | - isToday, | ||
| 196 | - }) { | ||
| 197 | - Widget? dayWidget; | ||
| 198 | - if (date.day % 3 == 0 && date.day % 9 != 0) { | ||
| 199 | - dayWidget = Container( | ||
| 200 | - decoration: decoration, | ||
| 201 | - child: Center( | ||
| 202 | - child: Stack( | ||
| 203 | - alignment: AlignmentDirectional.center, | ||
| 204 | - children: [ | ||
| 205 | - Text( | ||
| 206 | - MaterialLocalizations.of(context).formatDecimal(date.day), | ||
| 207 | - style: textStyle, | ||
| 208 | - ), | ||
| 209 | - Padding( | ||
| 210 | - padding: const EdgeInsets.only(top: 27.5), | ||
| 211 | - child: Container( | ||
| 212 | - height: 4, | ||
| 213 | - width: 4, | ||
| 214 | - decoration: BoxDecoration( | ||
| 215 | - borderRadius: BorderRadius.circular(5), | ||
| 216 | - color: isSelected == true | ||
| 217 | - ? Colors.white | ||
| 218 | - : Colors.grey[500], | ||
| 219 | - ), | ||
| 220 | - ), | ||
| 221 | - ), | ||
| 222 | - ], | ||
| 223 | - ), | ||
| 224 | - ), | ||
| 225 | - ); | ||
| 226 | - } | ||
| 227 | - return dayWidget; | ||
| 228 | - }, | ||
| 229 | - yearBuilder: ({ | ||
| 230 | - required year, | ||
| 231 | - decoration, | ||
| 232 | - isCurrentYear, | ||
| 233 | - isDisabled, | ||
| 234 | - isSelected, | ||
| 235 | - textStyle, | ||
| 236 | - }) { | ||
| 237 | - return Center( | ||
| 238 | - child: Container( | ||
| 239 | - decoration: decoration, | ||
| 240 | - height: 36, | ||
| 241 | - width: 72, | ||
| 242 | - child: Center( | ||
| 243 | - child: Semantics( | ||
| 244 | - selected: isSelected, | ||
| 245 | - button: true, | ||
| 246 | - child: Row( | ||
| 247 | - mainAxisAlignment: MainAxisAlignment.center, | ||
| 248 | - children: [ | ||
| 249 | - Text( | ||
| 250 | - year.toString(), | ||
| 251 | - style: textStyle, | ||
| 252 | - ), | ||
| 253 | - if (isCurrentYear == true) | ||
| 254 | - Container( | ||
| 255 | - padding: const EdgeInsets.all(5), | ||
| 256 | - margin: const EdgeInsets.only(left: 5), | ||
| 257 | - decoration: const BoxDecoration( | ||
| 258 | - shape: BoxShape.circle, | ||
| 259 | - color: Colors.redAccent, | ||
| 260 | - ), | ||
| 261 | - ), | ||
| 262 | - ], | ||
| 263 | - ), | ||
| 264 | - ), | ||
| 265 | - ), | ||
| 266 | - ), | ||
| 267 | - ); | ||
| 268 | - }, | ||
| 269 | - ); | ||
| 270 | - return SizedBox( | ||
| 271 | - width: 375, | ||
| 272 | - child: Padding( | ||
| 273 | - padding: const EdgeInsets.all(15), | ||
| 274 | - child: Row( | ||
| 275 | - mainAxisAlignment: MainAxisAlignment.center, | ||
| 276 | - children: [ | ||
| 277 | - ElevatedButton( | ||
| 278 | - onPressed: () async { | ||
| 279 | - final values = await showCalendarDatePicker2Dialog( | ||
| 280 | - context: context, | ||
| 281 | - config: config, | ||
| 282 | - dialogSize: const Size(325, 370), | ||
| 283 | - borderRadius: BorderRadius.circular(15), | ||
| 284 | - value: _dialogCalendarPickerValue, | ||
| 285 | - dialogBackgroundColor: Colors.white, | ||
| 286 | - ); | ||
| 287 | - if (values != null) { | ||
| 288 | - // ignore: avoid_print | ||
| 289 | - print(_getValueText( | ||
| 290 | - config.calendarType, | ||
| 291 | - values, | ||
| 292 | - )); | ||
| 293 | - setState(() { | ||
| 294 | - _dialogCalendarPickerValue = values; | ||
| 295 | - }); | ||
| 296 | - } | ||
| 297 | - }, | ||
| 298 | - child: const Text('Open Calendar Dialog'), | ||
| 299 | - ), | ||
| 300 | - ], | ||
| 301 | - ), | ||
| 302 | - ), | ||
| 303 | - ); | ||
| 304 | - } | ||
| 305 | - | ||
| 306 | - _buildScrollCalendarDialogButton() { | ||
| 307 | - const dayTextStyle = | ||
| 308 | - TextStyle(color: Colors.black, fontWeight: FontWeight.w700); | ||
| 309 | - final weekendTextStyle = | ||
| 310 | - TextStyle(color: Colors.grey[500], fontWeight: FontWeight.w600); | ||
| 311 | - final anniversaryTextStyle = TextStyle( | ||
| 312 | - color: Colors.red[400], | ||
| 313 | - fontWeight: FontWeight.w700, | ||
| 314 | - decoration: TextDecoration.underline, | ||
| 315 | - ); | ||
| 316 | - final config = CalendarDatePicker2WithActionButtonsConfig( | ||
| 317 | - calendarViewScrollPhysics: const NeverScrollableScrollPhysics(), | ||
| 318 | - dayTextStyle: dayTextStyle, | ||
| 319 | - calendarType: CalendarDatePicker2Type.range, | ||
| 320 | - calendarViewMode: CalendarDatePicker2Mode.scroll, | ||
| 321 | - hideScrollViewMonthWeekHeader: true, | ||
| 322 | - selectedDayHighlightColor: Colors.purple[800], | ||
| 323 | - closeDialogOnCancelTapped: true, | ||
| 324 | - firstDayOfWeek: 1, | ||
| 325 | - weekdayLabelTextStyle: const TextStyle( | ||
| 326 | - color: Colors.black87, | ||
| 327 | - fontWeight: FontWeight.bold, | ||
| 328 | - ), | ||
| 329 | - controlsTextStyle: const TextStyle( | ||
| 330 | - color: Colors.black, | ||
| 331 | - fontSize: 15, | ||
| 332 | - fontWeight: FontWeight.bold, | ||
| 333 | - ), | ||
| 334 | - centerAlignModePicker: true, | ||
| 335 | - customModePickerIcon: const SizedBox(), | ||
| 336 | - selectedDayTextStyle: dayTextStyle.copyWith(color: Colors.white), | ||
| 337 | - dayTextStylePredicate: ({required date}) { | ||
| 338 | - TextStyle? textStyle; | ||
| 339 | - if (date.weekday == DateTime.saturday || | ||
| 340 | - date.weekday == DateTime.sunday) { | ||
| 341 | - textStyle = weekendTextStyle; | ||
| 342 | - } | ||
| 343 | - if (DateUtils.isSameDay(date, DateTime(2021, 1, 25))) { | ||
| 344 | - textStyle = anniversaryTextStyle; | ||
| 345 | - } | ||
| 346 | - return textStyle; | ||
| 347 | - }, | ||
| 348 | - dayBuilder: ({ | ||
| 349 | - required date, | ||
| 350 | - textStyle, | ||
| 351 | - decoration, | ||
| 352 | - isSelected, | ||
| 353 | - isDisabled, | ||
| 354 | - isToday, | ||
| 355 | - }) { | ||
| 356 | - Widget? dayWidget; | ||
| 357 | - if (date.day % 3 == 0 && date.day % 9 != 0) { | ||
| 358 | - dayWidget = Container( | ||
| 359 | - decoration: decoration, | ||
| 360 | - child: Center( | ||
| 361 | - child: Stack( | ||
| 362 | - alignment: AlignmentDirectional.center, | ||
| 363 | - children: [ | ||
| 364 | - Text( | ||
| 365 | - MaterialLocalizations.of(context).formatDecimal(date.day), | ||
| 366 | - style: textStyle, | ||
| 367 | - ), | ||
| 368 | - Padding( | ||
| 369 | - padding: const EdgeInsets.only(top: 27.5), | ||
| 370 | - child: Container( | ||
| 371 | - height: 4, | ||
| 372 | - width: 4, | ||
| 373 | - decoration: BoxDecoration( | ||
| 374 | - borderRadius: BorderRadius.circular(5), | ||
| 375 | - color: isSelected == true | ||
| 376 | - ? Colors.white | ||
| 377 | - : Colors.grey[500], | ||
| 378 | - ), | ||
| 379 | - ), | ||
| 380 | - ), | ||
| 381 | - ], | ||
| 382 | - ), | ||
| 383 | - ), | ||
| 384 | - ); | ||
| 385 | - } | ||
| 386 | - return dayWidget; | ||
| 387 | - }, | ||
| 388 | - yearBuilder: ({ | ||
| 389 | - required year, | ||
| 390 | - decoration, | ||
| 391 | - isCurrentYear, | ||
| 392 | - isDisabled, | ||
| 393 | - isSelected, | ||
| 394 | - textStyle, | ||
| 395 | - }) { | ||
| 396 | - return Center( | ||
| 397 | - child: Container( | ||
| 398 | - decoration: decoration, | ||
| 399 | - height: 36, | ||
| 400 | - width: 72, | ||
| 401 | - child: Center( | ||
| 402 | - child: Semantics( | ||
| 403 | - selected: isSelected, | ||
| 404 | - button: true, | ||
| 405 | - child: Row( | ||
| 406 | - mainAxisAlignment: MainAxisAlignment.center, | ||
| 407 | - children: [ | ||
| 408 | - Text( | ||
| 409 | - year.toString(), | ||
| 410 | - style: textStyle, | ||
| 411 | - ), | ||
| 412 | - if (isCurrentYear == true) | ||
| 413 | - Container( | ||
| 414 | - padding: const EdgeInsets.all(5), | ||
| 415 | - margin: const EdgeInsets.only(left: 5), | ||
| 416 | - decoration: const BoxDecoration( | ||
| 417 | - shape: BoxShape.circle, | ||
| 418 | - color: Colors.redAccent, | ||
| 419 | - ), | ||
| 420 | - ), | ||
| 421 | - ], | ||
| 422 | - ), | ||
| 423 | - ), | ||
| 424 | - ), | ||
| 425 | - ), | ||
| 426 | - ); | ||
| 427 | - }, | ||
| 428 | - ); | ||
| 429 | - return SizedBox( | ||
| 430 | - width: 375, | ||
| 431 | - child: Padding( | ||
| 432 | - padding: const EdgeInsets.all(15), | ||
| 433 | - child: Row( | ||
| 434 | - mainAxisAlignment: MainAxisAlignment.center, | ||
| 435 | - children: [ | ||
| 436 | - ElevatedButton( | ||
| 437 | - onPressed: () async { | ||
| 438 | - final values = await showCalendarDatePicker2Dialog( | ||
| 439 | - context: context, | ||
| 440 | - config: config, | ||
| 441 | - dialogSize: const Size(325, 860), | ||
| 442 | - borderRadius: BorderRadius.circular(15), | ||
| 443 | - value: _dialogCalendarPickerValue, | ||
| 444 | - dialogBackgroundColor: Colors.white, | ||
| 445 | - ); | ||
| 446 | - if (values != null) { | ||
| 447 | - // ignore: avoid_print | ||
| 448 | - print(_getValueText( | ||
| 449 | - config.calendarType, | ||
| 450 | - values, | ||
| 451 | - )); | ||
| 452 | - setState(() { | ||
| 453 | - _dialogCalendarPickerValue = values; | ||
| 454 | - }); | ||
| 455 | - } | ||
| 456 | - }, | ||
| 457 | - child: const Text('Open Scroll Calendar Dialog'), | ||
| 458 | - ), | ||
| 459 | - ], | ||
| 460 | - ), | ||
| 461 | - ), | ||
| 462 | - ); | ||
| 463 | - } | ||
| 464 | - | ||
| 465 | - Widget _buildSingleDatePickerWithValue() { | ||
| 466 | - final config = CalendarDatePicker2Config( | ||
| 467 | - selectedDayHighlightColor: Colors.amber[900], | ||
| 468 | - weekdayLabels: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], | ||
| 469 | - weekdayLabelTextStyle: const TextStyle( | ||
| 470 | - color: Colors.black87, | ||
| 471 | - fontWeight: FontWeight.bold, | ||
| 472 | - ), | ||
| 473 | - firstDayOfWeek: 1, | ||
| 474 | - controlsHeight: 50, | ||
| 475 | - dayMaxWidth: 25, | ||
| 476 | - animateToDisplayedMonthDate: true, | ||
| 477 | - controlsTextStyle: const TextStyle( | ||
| 478 | - color: Colors.black, | ||
| 479 | - fontSize: 15, | ||
| 480 | - fontWeight: FontWeight.bold, | ||
| 481 | - ), | ||
| 482 | - dayTextStyle: const TextStyle( | ||
| 483 | - color: Colors.amber, | ||
| 484 | - fontWeight: FontWeight.bold, | ||
| 485 | - ), | ||
| 486 | - disabledDayTextStyle: const TextStyle( | ||
| 487 | - color: Colors.grey, | ||
| 488 | - ), | ||
| 489 | - centerAlignModePicker: true, | ||
| 490 | - useAbbrLabelForMonthModePicker: true, | ||
| 491 | - modePickerTextHandler: ({required monthDate, isMonthPicker}) { | ||
| 492 | - if (isMonthPicker ?? false) { | ||
| 493 | - // Custom month picker text | ||
| 494 | - return '${getLocaleShortMonthFormat(const Locale('en')).format(monthDate)} C'; | ||
| 495 | - } | ||
| 496 | - | ||
| 497 | - return null; | ||
| 498 | - }, | ||
| 499 | - firstDate: DateTime(DateTime.now().year - 2, DateTime.now().month - 1, | ||
| 500 | - DateTime.now().day - 5), | ||
| 501 | - lastDate: DateTime(DateTime.now().year + 3, DateTime.now().month + 2, | ||
| 502 | - DateTime.now().day + 10), | ||
| 503 | - selectableDayPredicate: (day) => | ||
| 504 | - !day | ||
| 505 | - .difference(DateTime.now().add(const Duration(days: 3))) | ||
| 506 | - .isNegative && | ||
| 507 | - day.isBefore(DateTime.now().add(const Duration(days: 30))), | ||
| 508 | - ); | ||
| 509 | - return SizedBox( | ||
| 510 | - width: 375, | ||
| 511 | - child: Column( | ||
| 512 | - mainAxisSize: MainAxisSize.min, | ||
| 513 | - children: [ | ||
| 514 | - const SizedBox(height: 10), | ||
| 515 | - const Text('Single Date Picker'), | ||
| 516 | - SizedBox( | ||
| 517 | - width: 270, | ||
| 518 | - child: CalendarDatePicker2( | ||
| 519 | - displayedMonthDate: _singleDatePickerValueWithDefaultValue.first, | ||
| 520 | - config: config, | ||
| 521 | - value: _singleDatePickerValueWithDefaultValue, | ||
| 522 | - onValueChanged: (dates) => setState( | ||
| 523 | - () => _singleDatePickerValueWithDefaultValue = dates), | ||
| 524 | - ), | ||
| 525 | - ), | ||
| 526 | - const SizedBox(height: 10), | ||
| 527 | - Row( | ||
| 528 | - mainAxisSize: MainAxisSize.min, | ||
| 529 | - children: [ | ||
| 530 | - const Text('Selection(s): '), | ||
| 531 | - const SizedBox(width: 10), | ||
| 532 | - Text( | ||
| 533 | - _getValueText( | ||
| 534 | - config.calendarType, | ||
| 535 | - _singleDatePickerValueWithDefaultValue, | ||
| 536 | - ), | ||
| 537 | - ), | ||
| 538 | - ], | ||
| 539 | - ), | ||
| 540 | - const SizedBox(height: 25), | ||
| 541 | - ], | ||
| 542 | - ), | ||
| 543 | - ); | ||
| 544 | - } | ||
| 545 | - | ||
| 546 | - Widget _buildScrollSingleDatePickerWithValue() { | ||
| 547 | - final config = CalendarDatePicker2Config( | ||
| 548 | - calendarViewMode: CalendarDatePicker2Mode.scroll, | ||
| 549 | - selectedDayHighlightColor: Colors.amber[900], | ||
| 550 | - weekdayLabels: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], | ||
| 551 | - weekdayLabelTextStyle: const TextStyle( | ||
| 552 | - color: Colors.black87, | ||
| 553 | - fontWeight: FontWeight.bold, | ||
| 554 | - ), | ||
| 555 | - firstDayOfWeek: 1, | ||
| 556 | - controlsHeight: 50, | ||
| 557 | - controlsTextStyle: const TextStyle( | ||
| 558 | - color: Colors.black, | ||
| 559 | - fontSize: 15, | ||
| 560 | - fontWeight: FontWeight.bold, | ||
| 561 | - ), | ||
| 562 | - dayTextStyle: const TextStyle( | ||
| 563 | - color: Colors.amber, | ||
| 564 | - fontWeight: FontWeight.bold, | ||
| 565 | - ), | ||
| 566 | - disabledDayTextStyle: const TextStyle( | ||
| 567 | - color: Colors.grey, | ||
| 568 | - ), | ||
| 569 | - centerAlignModePicker: true, | ||
| 570 | - useAbbrLabelForMonthModePicker: true, | ||
| 571 | - firstDate: DateTime(DateTime.now().year - 2, DateTime.now().month - 1, | ||
| 572 | - DateTime.now().day - 5), | ||
| 573 | - lastDate: DateTime(DateTime.now().year + 3, DateTime.now().month + 2, | ||
| 574 | - DateTime.now().day + 10), | ||
| 575 | - selectableDayPredicate: (day) => !day | ||
| 576 | - .difference(DateTime.now().subtract(const Duration(days: 3))) | ||
| 577 | - .isNegative, | ||
| 578 | - ); | ||
| 579 | - return SizedBox( | ||
| 580 | - width: 375, | ||
| 581 | - child: Column( | ||
| 582 | - mainAxisSize: MainAxisSize.min, | ||
| 583 | - children: [ | ||
| 584 | - const SizedBox(height: 10), | ||
| 585 | - const Text('Scroll Single Date Picker'), | ||
| 586 | - SizedBox( | ||
| 587 | - width: 270, | ||
| 588 | - height: 800, | ||
| 589 | - child: CalendarDatePicker2( | ||
| 590 | - config: config.copyWith( | ||
| 591 | - scrollViewController: _scrollController, | ||
| 592 | - dayMaxWidth: 32, | ||
| 593 | - controlsHeight: 40, | ||
| 594 | - hideScrollViewTopHeader: true, | ||
| 595 | - ), | ||
| 596 | - value: _singleDatePickerValueWithDefaultValue, | ||
| 597 | - onValueChanged: (dates) => setState( | ||
| 598 | - () => _singleDatePickerValueWithDefaultValue = dates), | ||
| 599 | - ), | ||
| 600 | - ), | ||
| 601 | - const SizedBox(height: 10), | ||
| 602 | - Row( | ||
| 603 | - mainAxisSize: MainAxisSize.min, | ||
| 604 | - children: [ | ||
| 605 | - const Text('Selection(s): '), | ||
| 606 | - const SizedBox(width: 10), | ||
| 607 | - Text( | ||
| 608 | - _getValueText( | ||
| 609 | - config.calendarType, | ||
| 610 | - _singleDatePickerValueWithDefaultValue, | ||
| 611 | - ), | ||
| 612 | - ), | ||
| 613 | - ], | ||
| 614 | - ), | ||
| 615 | - const SizedBox(height: 25), | ||
| 616 | - ], | ||
| 617 | - ), | ||
| 618 | - ); | ||
| 619 | - } | ||
| 620 | - | ||
| 621 | - Widget _buildMultiDatePickerWithValue() { | ||
| 622 | - final config = CalendarDatePicker2Config( | ||
| 623 | - disableMonthPicker: true, | ||
| 624 | - calendarType: CalendarDatePicker2Type.multi, | ||
| 625 | - selectedDayHighlightColor: Colors.indigo, | ||
| 626 | - ); | ||
| 627 | - return SizedBox( | ||
| 628 | - width: 375, | ||
| 629 | - child: Column( | ||
| 630 | - mainAxisSize: MainAxisSize.min, | ||
| 631 | - children: [ | ||
| 632 | - const SizedBox(height: 10), | ||
| 633 | - const Text('Multi Date Picker'), | ||
| 634 | - CalendarDatePicker2( | ||
| 635 | - config: config, | ||
| 636 | - value: _multiDatePickerValueWithDefaultValue, | ||
| 637 | - onValueChanged: (dates) => | ||
| 638 | - setState(() => _multiDatePickerValueWithDefaultValue = dates), | ||
| 639 | - ), | ||
| 640 | - const SizedBox(height: 10), | ||
| 641 | - Wrap( | ||
| 642 | - children: [ | ||
| 643 | - const Text('Selection(s): '), | ||
| 644 | - const SizedBox(width: 10), | ||
| 645 | - Text( | ||
| 646 | - _getValueText( | ||
| 647 | - config.calendarType, | ||
| 648 | - _multiDatePickerValueWithDefaultValue, | ||
| 649 | - ), | ||
| 650 | - overflow: TextOverflow.ellipsis, | ||
| 651 | - maxLines: 1, | ||
| 652 | - softWrap: false, | ||
| 653 | - ), | ||
| 654 | - ], | ||
| 655 | - ), | ||
| 656 | - const SizedBox(height: 25), | ||
| 657 | - ], | ||
| 658 | - ), | ||
| 659 | - ); | ||
| 660 | - } | ||
| 661 | - | ||
| 662 | - Widget _buildScrollMultiDatePickerWithValue() { | ||
| 663 | - final config = CalendarDatePicker2Config( | ||
| 664 | - disableMonthPicker: true, | ||
| 665 | - calendarType: CalendarDatePicker2Type.multi, | ||
| 666 | - calendarViewMode: CalendarDatePicker2Mode.scroll, | ||
| 667 | - selectedDayHighlightColor: Colors.indigo, | ||
| 668 | - scrollViewTopHeaderTextStyle: const TextStyle( | ||
| 669 | - color: Colors.black87, | ||
| 670 | - fontWeight: FontWeight.bold, | ||
| 671 | - ), | ||
| 672 | - ); | ||
| 673 | - return SizedBox( | ||
| 674 | - width: 375, | ||
| 675 | - child: Column( | ||
| 676 | - mainAxisSize: MainAxisSize.min, | ||
| 677 | - children: [ | ||
| 678 | - const SizedBox(height: 10), | ||
| 679 | - const Text('Scroll Multi Date Picker'), | ||
| 680 | - SizedBox( | ||
| 681 | - height: 800, | ||
| 682 | - child: CalendarDatePicker2( | ||
| 683 | - config: config, | ||
| 684 | - value: _multiDatePickerValueWithDefaultValue, | ||
| 685 | - onValueChanged: (dates) => | ||
| 686 | - setState(() => _multiDatePickerValueWithDefaultValue = dates), | ||
| 687 | - ), | ||
| 688 | - ), | ||
| 689 | - const SizedBox(height: 10), | ||
| 690 | - Wrap( | ||
| 691 | - children: [ | ||
| 692 | - const Text('Selection(s): '), | ||
| 693 | - const SizedBox(width: 10), | ||
| 694 | - Text( | ||
| 695 | - _getValueText( | ||
| 696 | - config.calendarType, | ||
| 697 | - _multiDatePickerValueWithDefaultValue, | ||
| 698 | - ), | ||
| 699 | - overflow: TextOverflow.ellipsis, | ||
| 700 | - maxLines: 1, | ||
| 701 | - softWrap: false, | ||
| 702 | - ), | ||
| 703 | - ], | ||
| 704 | - ), | ||
| 705 | - const SizedBox(height: 25), | ||
| 706 | - ], | ||
| 707 | - ), | ||
| 708 | - ); | ||
| 709 | - } | ||
| 710 | - | ||
| 711 | - Widget _buildRangeDatePickerWithValue() { | ||
| 712 | - final config = CalendarDatePicker2Config( | ||
| 713 | - centerAlignModePicker: true, | ||
| 714 | - calendarType: CalendarDatePicker2Type.range, | ||
| 715 | - selectedDayHighlightColor: Colors.teal[800], | ||
| 716 | - weekdayLabelTextStyle: const TextStyle( | ||
| 717 | - color: Colors.black87, | ||
| 718 | - fontWeight: FontWeight.bold, | ||
| 719 | - ), | ||
| 720 | - controlsTextStyle: const TextStyle( | ||
| 721 | - color: Colors.black, | ||
| 722 | - fontSize: 15, | ||
| 723 | - fontWeight: FontWeight.bold, | ||
| 724 | - ), | ||
| 725 | - dynamicCalendarRows: true, | ||
| 726 | - modePickerBuilder: ({required monthDate, isMonthPicker}) { | ||
| 727 | - return Center( | ||
| 728 | - child: Container( | ||
| 729 | - padding: const EdgeInsets.all(5), | ||
| 730 | - margin: const EdgeInsets.symmetric(horizontal: 5), | ||
| 731 | - decoration: BoxDecoration( | ||
| 732 | - color: isMonthPicker == true ? Colors.red : Colors.teal[800], | ||
| 733 | - borderRadius: BorderRadius.circular(5), | ||
| 734 | - ), | ||
| 735 | - child: Text( | ||
| 736 | - isMonthPicker == true | ||
| 737 | - ? getLocaleShortMonthFormat(const Locale('en')) | ||
| 738 | - .format(monthDate) | ||
| 739 | - : monthDate.year.toString(), | ||
| 740 | - style: const TextStyle( | ||
| 741 | - color: Colors.white, | ||
| 742 | - fontWeight: FontWeight.bold, | ||
| 743 | - ), | ||
| 744 | - ), | ||
| 745 | - ), | ||
| 746 | - ); | ||
| 747 | - }, | ||
| 748 | - weekdayLabelBuilder: ({required weekday, isScrollViewTopHeader}) { | ||
| 749 | - if (weekday == DateTime.wednesday) { | ||
| 750 | - return const Center( | ||
| 751 | - child: Text( | ||
| 752 | - 'W', | ||
| 753 | - style: TextStyle( | ||
| 754 | - color: Colors.red, | ||
| 755 | - fontWeight: FontWeight.bold, | ||
| 756 | - ), | ||
| 757 | - ), | ||
| 758 | - ); | ||
| 759 | - } | ||
| 760 | - return null; | ||
| 761 | - }, | ||
| 762 | - disabledDayTextStyle: | ||
| 763 | - const TextStyle(color: Colors.grey, fontWeight: FontWeight.w400), | ||
| 764 | - selectableDayPredicate: (day) { | ||
| 765 | - if (_rangeDatePickerValueWithDefaultValue.isEmpty || | ||
| 766 | - _rangeDatePickerValueWithDefaultValue.length == 2) { | ||
| 767 | - // exclude Wednesday | ||
| 768 | - return day.weekday != DateTime.wednesday; | ||
| 769 | - } else { | ||
| 770 | - // Make sure range does not contain any Wednesday | ||
| 771 | - final firstDate = _rangeDatePickerValueWithDefaultValue.first; | ||
| 772 | - final range = [firstDate!, day]..sort(); | ||
| 773 | - for (var date = range.first; | ||
| 774 | - date.compareTo(range.last) <= 0; | ||
| 775 | - date = date.add(const Duration(days: 1))) { | ||
| 776 | - if (date.weekday == DateTime.wednesday) { | ||
| 777 | - return false; | ||
| 778 | - } | ||
| 779 | - } | ||
| 780 | - } | ||
| 781 | - return true; | ||
| 782 | - }, | ||
| 783 | - ); | ||
| 784 | - return SizedBox( | ||
| 785 | - width: 375, | ||
| 786 | - child: Column( | ||
| 787 | - mainAxisSize: MainAxisSize.min, | ||
| 788 | - children: [ | ||
| 789 | - const SizedBox(height: 10), | ||
| 790 | - const Text('Range Date Picker'), | ||
| 791 | - CalendarDatePicker2( | ||
| 792 | - config: config, | ||
| 793 | - value: _rangeDatePickerValueWithDefaultValue, | ||
| 794 | - onValueChanged: (dates) => | ||
| 795 | - setState(() => _rangeDatePickerValueWithDefaultValue = dates), | ||
| 796 | - ), | ||
| 797 | - const SizedBox(height: 10), | ||
| 798 | - Row( | ||
| 799 | - mainAxisSize: MainAxisSize.min, | ||
| 800 | - children: [ | ||
| 801 | - const Text('Selection(s): '), | ||
| 802 | - const SizedBox(width: 10), | ||
| 803 | - Text( | ||
| 804 | - _getValueText( | ||
| 805 | - config.calendarType, | ||
| 806 | - _rangeDatePickerValueWithDefaultValue, | ||
| 807 | - ), | ||
| 808 | - ), | ||
| 809 | - ], | ||
| 810 | - ), | ||
| 811 | - const SizedBox(height: 25), | ||
| 812 | - ], | ||
| 813 | - ), | ||
| 814 | - ); | ||
| 815 | - } | ||
| 816 | - | ||
| 817 | - Widget _buildScrollRangeDatePickerWithValue() { | ||
| 818 | - final config = CalendarDatePicker2Config( | ||
| 819 | - centerAlignModePicker: true, | ||
| 820 | - calendarType: CalendarDatePicker2Type.range, | ||
| 821 | - calendarViewMode: CalendarDatePicker2Mode.scroll, | ||
| 822 | - rangeBidirectional: true, | ||
| 823 | - selectedDayHighlightColor: Colors.teal[800], | ||
| 824 | - weekdayLabelTextStyle: const TextStyle( | ||
| 825 | - color: Colors.black87, | ||
| 826 | - fontWeight: FontWeight.bold, | ||
| 827 | - ), | ||
| 828 | - controlsTextStyle: const TextStyle( | ||
| 829 | - color: Colors.black, | ||
| 830 | - fontSize: 15, | ||
| 831 | - fontWeight: FontWeight.bold, | ||
| 832 | - ), | ||
| 833 | - dynamicCalendarRows: true, | ||
| 834 | - weekdayLabelBuilder: ({required weekday, isScrollViewTopHeader}) { | ||
| 835 | - if (weekday == DateTime.wednesday && isScrollViewTopHeader != true) { | ||
| 836 | - return const Center( | ||
| 837 | - child: Text( | ||
| 838 | - 'W', | ||
| 839 | - style: TextStyle( | ||
| 840 | - color: Colors.red, | ||
| 841 | - fontWeight: FontWeight.bold, | ||
| 842 | - ), | ||
| 843 | - ), | ||
| 844 | - ); | ||
| 845 | - } | ||
| 846 | - return null; | ||
| 847 | - }, | ||
| 848 | - modePickerTextHandler: ({required monthDate, isMonthPicker}) { | ||
| 849 | - if (isMonthPicker ?? false) { | ||
| 850 | - return '${getLocaleShortMonthFormat(const Locale('en')).format(monthDate)} New'; | ||
| 851 | - } | ||
| 852 | - | ||
| 853 | - return null; | ||
| 854 | - }, | ||
| 855 | - disabledDayTextStyle: | ||
| 856 | - const TextStyle(color: Colors.grey, fontWeight: FontWeight.w400), | ||
| 857 | - selectableDayPredicate: (day) { | ||
| 858 | - if (_rangeDatePickerValueWithDefaultValue.isEmpty || | ||
| 859 | - _rangeDatePickerValueWithDefaultValue.length == 2) { | ||
| 860 | - // exclude Wednesday | ||
| 861 | - return day.weekday != DateTime.wednesday; | ||
| 862 | - } else { | ||
| 863 | - // Make sure range does not contain any Wednesday | ||
| 864 | - final firstDate = _rangeDatePickerValueWithDefaultValue.first; | ||
| 865 | - final range = [firstDate!, day]..sort(); | ||
| 866 | - for (var date = range.first; | ||
| 867 | - date.compareTo(range.last) <= 0; | ||
| 868 | - date = date.add(const Duration(days: 1))) { | ||
| 869 | - if (date.weekday == DateTime.wednesday) { | ||
| 870 | - return false; | ||
| 871 | - } | ||
| 872 | - } | ||
| 873 | - } | ||
| 874 | - return true; | ||
| 875 | - }, | ||
| 876 | - ); | ||
| 877 | - return SizedBox( | ||
| 878 | - width: 375, | ||
| 879 | - child: Column( | ||
| 880 | - mainAxisSize: MainAxisSize.min, | ||
| 881 | - children: [ | ||
| 882 | - const SizedBox(height: 10), | ||
| 883 | - const Text('Scroll Range Date Picker'), | ||
| 884 | - SizedBox( | ||
| 885 | - height: 800, | ||
| 886 | - child: CalendarDatePicker2( | ||
| 887 | - config: config, | ||
| 888 | - value: _rangeDatePickerValueWithDefaultValue, | ||
| 889 | - onValueChanged: (dates) => | ||
| 890 | - setState(() => _rangeDatePickerValueWithDefaultValue = dates), | ||
| 891 | - ), | ||
| 892 | - ), | ||
| 893 | - const SizedBox(height: 10), | ||
| 894 | - Row( | ||
| 895 | - mainAxisSize: MainAxisSize.min, | ||
| 896 | - children: [ | ||
| 897 | - const Text('Selection(s): '), | ||
| 898 | - const SizedBox(width: 10), | ||
| 899 | - Text( | ||
| 900 | - _getValueText( | ||
| 901 | - config.calendarType, | ||
| 902 | - _rangeDatePickerValueWithDefaultValue, | ||
| 903 | - ), | ||
| 904 | - ), | ||
| 905 | - ], | ||
| 906 | - ), | ||
| 907 | - const SizedBox(height: 25), | ||
| 908 | - ], | ||
| 909 | - ), | ||
| 910 | - ); | ||
| 911 | - } | ||
| 912 | - | ||
| 913 | - Widget _buildCalendarWithActionButtons() { | ||
| 914 | - final config = CalendarDatePicker2WithActionButtonsConfig( | ||
| 915 | - calendarType: CalendarDatePicker2Type.range, | ||
| 916 | - disableModePicker: true, | ||
| 917 | - ); | ||
| 918 | - return SizedBox( | ||
| 919 | - width: 375, | ||
| 920 | - child: Column( | ||
| 921 | - mainAxisSize: MainAxisSize.min, | ||
| 922 | - children: [ | ||
| 923 | - const SizedBox(height: 10), | ||
| 924 | - const Text('Date Picker With Action Buttons'), | ||
| 925 | - CalendarDatePicker2WithActionButtons( | ||
| 926 | - config: config, | ||
| 927 | - value: _rangeDatePickerWithActionButtonsWithValue, | ||
| 928 | - onValueChanged: (dates) => setState( | ||
| 929 | - () => _rangeDatePickerWithActionButtonsWithValue = dates), | ||
| 930 | - ), | ||
| 931 | - const SizedBox(height: 10), | ||
| 932 | - Row( | ||
| 933 | - mainAxisSize: MainAxisSize.min, | ||
| 934 | - children: [ | ||
| 935 | - const Text('Selection(s): '), | ||
| 936 | - const SizedBox(width: 10), | ||
| 937 | - Flexible( | ||
| 938 | - child: Text( | ||
| 939 | - _getValueText( | ||
| 940 | - config.calendarType, | ||
| 941 | - _rangeDatePickerWithActionButtonsWithValue, | ||
| 942 | - ), | ||
| 943 | - ), | ||
| 944 | - ), | ||
| 945 | - ], | ||
| 946 | - ), | ||
| 947 | - const SizedBox(height: 25), | ||
| 948 | - ], | ||
| 949 | - ), | ||
| 950 | - ); | ||
| 951 | - } | ||
| 952 | - | ||
| 953 | - Widget _buildScrollCalendarWithActionButtons() { | ||
| 954 | - final config = CalendarDatePicker2WithActionButtonsConfig( | ||
| 955 | - calendarType: CalendarDatePicker2Type.range, | ||
| 956 | - calendarViewMode: CalendarDatePicker2Mode.scroll, | ||
| 957 | - rangeBidirectional: true, | ||
| 958 | - scrollViewConstraints: const BoxConstraints(maxHeight: 800), | ||
| 959 | - scrollViewMonthYearBuilder: (monthDate) { | ||
| 960 | - return Row( | ||
| 961 | - mainAxisAlignment: MainAxisAlignment.center, | ||
| 962 | - children: [ | ||
| 963 | - Container( | ||
| 964 | - margin: const EdgeInsets.only(bottom: 5), | ||
| 965 | - padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 5), | ||
| 966 | - decoration: BoxDecoration( | ||
| 967 | - color: const Color.fromARGB(255, 11, 69, 117), | ||
| 968 | - borderRadius: BorderRadius.circular(5), | ||
| 969 | - ), | ||
| 970 | - child: Row( | ||
| 971 | - children: [ | ||
| 972 | - Text( | ||
| 973 | - getLocaleShortMonthFormat(const Locale('en')) | ||
| 974 | - .format(monthDate), | ||
| 975 | - style: const TextStyle( | ||
| 976 | - color: Colors.white, | ||
| 977 | - fontSize: 15, | ||
| 978 | - fontWeight: FontWeight.w600, | ||
| 979 | - ), | ||
| 980 | - ), | ||
| 981 | - const SizedBox(width: 5), | ||
| 982 | - Text( | ||
| 983 | - monthDate.year.toString(), | ||
| 984 | - style: const TextStyle( | ||
| 985 | - color: Colors.white, | ||
| 986 | - fontSize: 15, | ||
| 987 | - fontWeight: FontWeight.w600, | ||
| 988 | - ), | ||
| 989 | - ), | ||
| 990 | - ], | ||
| 991 | - ), | ||
| 992 | - ), | ||
| 993 | - ], | ||
| 994 | - ); | ||
| 995 | - }, | ||
| 996 | - hideScrollViewMonthWeekHeader: true, | ||
| 997 | - disableModePicker: true, | ||
| 998 | - ); | ||
| 999 | - return SizedBox( | ||
| 1000 | - width: 375, | ||
| 1001 | - child: Column( | ||
| 1002 | - mainAxisSize: MainAxisSize.min, | ||
| 1003 | - children: [ | ||
| 1004 | - const SizedBox(height: 10), | ||
| 1005 | - const Text('Date Picker With Action Buttons'), | ||
| 1006 | - CalendarDatePicker2WithActionButtons( | ||
| 1007 | - config: config, | ||
| 1008 | - value: _rangeDatePickerWithActionButtonsWithValue, | ||
| 1009 | - onValueChanged: (dates) => setState( | ||
| 1010 | - () => _rangeDatePickerWithActionButtonsWithValue = dates), | ||
| 1011 | - ), | ||
| 1012 | - const SizedBox(height: 10), | ||
| 1013 | - Row( | ||
| 1014 | - mainAxisSize: MainAxisSize.min, | ||
| 1015 | - children: [ | ||
| 1016 | - const Text('Selection(s): '), | ||
| 1017 | - const SizedBox(width: 10), | ||
| 1018 | - Flexible( | ||
| 1019 | - child: Text( | ||
| 1020 | - _getValueText( | ||
| 1021 | - config.calendarType, | ||
| 1022 | - _rangeDatePickerWithActionButtonsWithValue, | ||
| 1023 | - ), | ||
| 1024 | - ), | ||
| 1025 | - ), | ||
| 1026 | - ], | ||
| 1027 | - ), | ||
| 1028 | - const SizedBox(height: 25), | ||
| 1029 | - ], | ||
| 1030 | - ), | ||
| 1031 | - ); | ||
| 1032 | - } | ||
| 1033 | -} |
| 1 | -# Generated by pub | ||
| 2 | -# See https://dart.dev/tools/pub/glossary#lockfile | ||
| 3 | -packages: | ||
| 4 | - async: | ||
| 5 | - dependency: transitive | ||
| 6 | - description: | ||
| 7 | - name: async | ||
| 8 | - sha256: d2872f9c19731c2e5f10444b14686eb7cc85c76274bd6c16e1816bff9a3bab63 | ||
| 9 | - url: "https://pub.flutter-io.cn" | ||
| 10 | - source: hosted | ||
| 11 | - version: "2.12.0" | ||
| 12 | - boolean_selector: | ||
| 13 | - dependency: transitive | ||
| 14 | - description: | ||
| 15 | - name: boolean_selector | ||
| 16 | - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" | ||
| 17 | - url: "https://pub.flutter-io.cn" | ||
| 18 | - source: hosted | ||
| 19 | - version: "2.1.2" | ||
| 20 | - calendar_date_picker2: | ||
| 21 | - dependency: "direct main" | ||
| 22 | - description: | ||
| 23 | - path: ".." | ||
| 24 | - relative: true | ||
| 25 | - source: path | ||
| 26 | - version: "1.1.5" | ||
| 27 | - characters: | ||
| 28 | - dependency: transitive | ||
| 29 | - description: | ||
| 30 | - name: characters | ||
| 31 | - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 | ||
| 32 | - url: "https://pub.flutter-io.cn" | ||
| 33 | - source: hosted | ||
| 34 | - version: "1.4.0" | ||
| 35 | - clock: | ||
| 36 | - dependency: transitive | ||
| 37 | - description: | ||
| 38 | - name: clock | ||
| 39 | - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b | ||
| 40 | - url: "https://pub.flutter-io.cn" | ||
| 41 | - source: hosted | ||
| 42 | - version: "1.1.2" | ||
| 43 | - collection: | ||
| 44 | - dependency: transitive | ||
| 45 | - description: | ||
| 46 | - name: collection | ||
| 47 | - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" | ||
| 48 | - url: "https://pub.flutter-io.cn" | ||
| 49 | - source: hosted | ||
| 50 | - version: "1.19.1" | ||
| 51 | - cupertino_icons: | ||
| 52 | - dependency: "direct main" | ||
| 53 | - description: | ||
| 54 | - name: cupertino_icons | ||
| 55 | - sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be | ||
| 56 | - url: "https://pub.flutter-io.cn" | ||
| 57 | - source: hosted | ||
| 58 | - version: "1.0.5" | ||
| 59 | - fake_async: | ||
| 60 | - dependency: transitive | ||
| 61 | - description: | ||
| 62 | - name: fake_async | ||
| 63 | - sha256: "6a95e56b2449df2273fd8c45a662d6947ce1ebb7aafe80e550a3f68297f3cacc" | ||
| 64 | - url: "https://pub.flutter-io.cn" | ||
| 65 | - source: hosted | ||
| 66 | - version: "1.3.2" | ||
| 67 | - flutter: | ||
| 68 | - dependency: "direct main" | ||
| 69 | - description: flutter | ||
| 70 | - source: sdk | ||
| 71 | - version: "0.0.0" | ||
| 72 | - flutter_lints: | ||
| 73 | - dependency: "direct dev" | ||
| 74 | - description: | ||
| 75 | - name: flutter_lints | ||
| 76 | - sha256: "2118df84ef0c3ca93f96123a616ae8540879991b8b57af2f81b76a7ada49b2a4" | ||
| 77 | - url: "https://pub.flutter-io.cn" | ||
| 78 | - source: hosted | ||
| 79 | - version: "2.0.2" | ||
| 80 | - flutter_localizations: | ||
| 81 | - dependency: "direct main" | ||
| 82 | - description: flutter | ||
| 83 | - source: sdk | ||
| 84 | - version: "0.0.0" | ||
| 85 | - flutter_test: | ||
| 86 | - dependency: "direct dev" | ||
| 87 | - description: flutter | ||
| 88 | - source: sdk | ||
| 89 | - version: "0.0.0" | ||
| 90 | - intl: | ||
| 91 | - dependency: transitive | ||
| 92 | - description: | ||
| 93 | - name: intl | ||
| 94 | - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf | ||
| 95 | - url: "https://pub.flutter-io.cn" | ||
| 96 | - source: hosted | ||
| 97 | - version: "0.19.0" | ||
| 98 | - leak_tracker: | ||
| 99 | - dependency: transitive | ||
| 100 | - description: | ||
| 101 | - name: leak_tracker | ||
| 102 | - sha256: c35baad643ba394b40aac41080300150a4f08fd0fd6a10378f8f7c6bc161acec | ||
| 103 | - url: "https://pub.flutter-io.cn" | ||
| 104 | - source: hosted | ||
| 105 | - version: "10.0.8" | ||
| 106 | - leak_tracker_flutter_testing: | ||
| 107 | - dependency: transitive | ||
| 108 | - description: | ||
| 109 | - name: leak_tracker_flutter_testing | ||
| 110 | - sha256: f8b613e7e6a13ec79cfdc0e97638fddb3ab848452eff057653abd3edba760573 | ||
| 111 | - url: "https://pub.flutter-io.cn" | ||
| 112 | - source: hosted | ||
| 113 | - version: "3.0.9" | ||
| 114 | - leak_tracker_testing: | ||
| 115 | - dependency: transitive | ||
| 116 | - description: | ||
| 117 | - name: leak_tracker_testing | ||
| 118 | - sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" | ||
| 119 | - url: "https://pub.flutter-io.cn" | ||
| 120 | - source: hosted | ||
| 121 | - version: "3.0.1" | ||
| 122 | - lints: | ||
| 123 | - dependency: transitive | ||
| 124 | - description: | ||
| 125 | - name: lints | ||
| 126 | - sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" | ||
| 127 | - url: "https://pub.flutter-io.cn" | ||
| 128 | - source: hosted | ||
| 129 | - version: "2.0.1" | ||
| 130 | - matcher: | ||
| 131 | - dependency: transitive | ||
| 132 | - description: | ||
| 133 | - name: matcher | ||
| 134 | - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 | ||
| 135 | - url: "https://pub.flutter-io.cn" | ||
| 136 | - source: hosted | ||
| 137 | - version: "0.12.17" | ||
| 138 | - material_color_utilities: | ||
| 139 | - dependency: transitive | ||
| 140 | - description: | ||
| 141 | - name: material_color_utilities | ||
| 142 | - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec | ||
| 143 | - url: "https://pub.flutter-io.cn" | ||
| 144 | - source: hosted | ||
| 145 | - version: "0.11.1" | ||
| 146 | - meta: | ||
| 147 | - dependency: transitive | ||
| 148 | - description: | ||
| 149 | - name: meta | ||
| 150 | - sha256: e3641ec5d63ebf0d9b41bd43201a66e3fc79a65db5f61fc181f04cd27aab950c | ||
| 151 | - url: "https://pub.flutter-io.cn" | ||
| 152 | - source: hosted | ||
| 153 | - version: "1.16.0" | ||
| 154 | - path: | ||
| 155 | - dependency: transitive | ||
| 156 | - description: | ||
| 157 | - name: path | ||
| 158 | - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" | ||
| 159 | - url: "https://pub.flutter-io.cn" | ||
| 160 | - source: hosted | ||
| 161 | - version: "1.9.1" | ||
| 162 | - sky_engine: | ||
| 163 | - dependency: transitive | ||
| 164 | - description: flutter | ||
| 165 | - source: sdk | ||
| 166 | - version: "0.0.0" | ||
| 167 | - source_span: | ||
| 168 | - dependency: transitive | ||
| 169 | - description: | ||
| 170 | - name: source_span | ||
| 171 | - sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" | ||
| 172 | - url: "https://pub.flutter-io.cn" | ||
| 173 | - source: hosted | ||
| 174 | - version: "1.10.1" | ||
| 175 | - stack_trace: | ||
| 176 | - dependency: transitive | ||
| 177 | - description: | ||
| 178 | - name: stack_trace | ||
| 179 | - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" | ||
| 180 | - url: "https://pub.flutter-io.cn" | ||
| 181 | - source: hosted | ||
| 182 | - version: "1.12.1" | ||
| 183 | - stream_channel: | ||
| 184 | - dependency: transitive | ||
| 185 | - description: | ||
| 186 | - name: stream_channel | ||
| 187 | - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" | ||
| 188 | - url: "https://pub.flutter-io.cn" | ||
| 189 | - source: hosted | ||
| 190 | - version: "2.1.4" | ||
| 191 | - string_scanner: | ||
| 192 | - dependency: transitive | ||
| 193 | - description: | ||
| 194 | - name: string_scanner | ||
| 195 | - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" | ||
| 196 | - url: "https://pub.flutter-io.cn" | ||
| 197 | - source: hosted | ||
| 198 | - version: "1.4.1" | ||
| 199 | - term_glyph: | ||
| 200 | - dependency: transitive | ||
| 201 | - description: | ||
| 202 | - name: term_glyph | ||
| 203 | - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" | ||
| 204 | - url: "https://pub.flutter-io.cn" | ||
| 205 | - source: hosted | ||
| 206 | - version: "1.2.2" | ||
| 207 | - test_api: | ||
| 208 | - dependency: transitive | ||
| 209 | - description: | ||
| 210 | - name: test_api | ||
| 211 | - sha256: fb31f383e2ee25fbbfe06b40fe21e1e458d14080e3c67e7ba0acfde4df4e0bbd | ||
| 212 | - url: "https://pub.flutter-io.cn" | ||
| 213 | - source: hosted | ||
| 214 | - version: "0.7.4" | ||
| 215 | - vector_math: | ||
| 216 | - dependency: transitive | ||
| 217 | - description: | ||
| 218 | - name: vector_math | ||
| 219 | - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" | ||
| 220 | - url: "https://pub.flutter-io.cn" | ||
| 221 | - source: hosted | ||
| 222 | - version: "2.1.4" | ||
| 223 | - vm_service: | ||
| 224 | - dependency: transitive | ||
| 225 | - description: | ||
| 226 | - name: vm_service | ||
| 227 | - sha256: "0968250880a6c5fe7edc067ed0a13d4bae1577fe2771dcf3010d52c4a9d3ca14" | ||
| 228 | - url: "https://pub.flutter-io.cn" | ||
| 229 | - source: hosted | ||
| 230 | - version: "14.3.1" | ||
| 231 | -sdks: | ||
| 232 | - dart: ">=3.7.0-0 <4.0.0" | ||
| 233 | - flutter: ">=3.18.0-18.0.pre.54" |
| 1 | -name: example | ||
| 2 | -description: A new Flutter project. | ||
| 3 | - | ||
| 4 | -# The following line prevents the package from being accidentally published to | ||
| 5 | -# pub.dev using `flutter pub publish`. This is preferred for private packages. | ||
| 6 | -publish_to: 'none' # Remove this line if you wish to publish to pub.dev | ||
| 7 | - | ||
| 8 | -# The following defines the version and build number for your application. | ||
| 9 | -# A version number is three numbers separated by dots, like 1.2.43 | ||
| 10 | -# followed by an optional build number separated by a +. | ||
| 11 | -# Both the version and the builder number may be overridden in flutter | ||
| 12 | -# build by specifying --build-name and --build-number, respectively. | ||
| 13 | -# In Android, build-name is used as versionName while build-number used as versionCode. | ||
| 14 | -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning | ||
| 15 | -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. | ||
| 16 | -# Read more about iOS versioning at | ||
| 17 | -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html | ||
| 18 | -version: 1.0.0+1 | ||
| 19 | - | ||
| 20 | -environment: | ||
| 21 | - sdk: ">=2.16.2 <4.0.0" | ||
| 22 | - | ||
| 23 | -# Dependencies specify other packages that your package needs in order to work. | ||
| 24 | -# To automatically upgrade your package dependencies to the latest versions | ||
| 25 | -# consider running `flutter pub upgrade --major-versions`. Alternatively, | ||
| 26 | -# dependencies can be manually updated by changing the version numbers below to | ||
| 27 | -# the latest version available on pub.dev. To see which dependencies have newer | ||
| 28 | -# versions available, run `flutter pub outdated`. | ||
| 29 | -dependencies: | ||
| 30 | - flutter: | ||
| 31 | - sdk: flutter | ||
| 32 | - flutter_localizations: | ||
| 33 | - sdk: flutter | ||
| 34 | - | ||
| 35 | - # The following adds the Cupertino Icons font to your application. | ||
| 36 | - # Use with the CupertinoIcons class for iOS style icons. | ||
| 37 | - cupertino_icons: ^1.0.2 | ||
| 38 | - | ||
| 39 | - calendar_date_picker2: | ||
| 40 | - path: ../ | ||
| 41 | - | ||
| 42 | -dev_dependencies: | ||
| 43 | - flutter_test: | ||
| 44 | - sdk: flutter | ||
| 45 | - | ||
| 46 | - # The "flutter_lints" package below contains a set of recommended lints to | ||
| 47 | - # encourage good coding practices. The lint set provided by the package is | ||
| 48 | - # activated in the `analysis_options.yaml` file located at the root of your | ||
| 49 | - # package. See that file for information about deactivating specific lint | ||
| 50 | - # rules and activating additional ones. | ||
| 51 | - flutter_lints: ^2.0.1 | ||
| 52 | - | ||
| 53 | -# For information on the generic Dart part of this file, see the | ||
| 54 | -# following page: https://dart.dev/tools/pub/pubspec | ||
| 55 | - | ||
| 56 | -# The following section is specific to Flutter. | ||
| 57 | -flutter: | ||
| 58 | - | ||
| 59 | - # The following line ensures that the Material Icons font is | ||
| 60 | - # included with your application, so that you can use the icons in | ||
| 61 | - # the material Icons class. | ||
| 62 | - uses-material-design: true | ||
| 63 | - | ||
| 64 | - # To add assets to your application, add an assets section, like this: | ||
| 65 | - # assets: | ||
| 66 | - # - images/a_dot_burr.jpeg | ||
| 67 | - # - images/a_dot_ham.jpeg | ||
| 68 | - | ||
| 69 | - # An image asset can refer to one or more resolution-specific "variants", see | ||
| 70 | - # https://flutter.dev/assets-and-images/#resolution-aware. | ||
| 71 | - | ||
| 72 | - # For details regarding adding assets from package dependencies, see | ||
| 73 | - # https://flutter.dev/assets-and-images/#from-packages | ||
| 74 | - | ||
| 75 | - # To add custom fonts to your application, add a fonts section here, | ||
| 76 | - # in this "flutter" section. Each entry in this list should have a | ||
| 77 | - # "family" key with the font family name, and a "fonts" key with a | ||
| 78 | - # list giving the asset and other descriptors for the font. For | ||
| 79 | - # example: | ||
| 80 | - # fonts: | ||
| 81 | - # - family: Schyler | ||
| 82 | - # fonts: | ||
| 83 | - # - asset: fonts/Schyler-Regular.ttf | ||
| 84 | - # - asset: fonts/Schyler-Italic.ttf | ||
| 85 | - # style: italic | ||
| 86 | - # - family: Trajan Pro | ||
| 87 | - # fonts: | ||
| 88 | - # - asset: fonts/TrajanPro.ttf | ||
| 89 | - # - asset: fonts/TrajanPro_Bold.ttf | ||
| 90 | - # weight: 700 | ||
| 91 | - # | ||
| 92 | - # For details regarding fonts from package dependencies, | ||
| 93 | - # see https://flutter.dev/custom-fonts/#from-packages |
1.32 MB
773 KB
1.08 MB
1.23 MB
1.25 MB
865 KB
1.47 MB
528 KB
library/calendar_date_picker2-1.1.5/example/screenshots/calendar_date_picker_month_view.png
deleted
100644 → 0
78.5 KB
library/calendar_date_picker2-1.1.5/example/screenshots/custom_range_picker_demo.png
deleted
100644 → 0
68.7 KB
library/calendar_date_picker2-1.1.5/example/screenshots/custom_range_picker_demo_2.png
deleted
100644 → 0
49.2 KB
library/calendar_date_picker2-1.1.5/example/screenshots/custom_range_picker_demo_scroll.png
deleted
100644 → 0
140 KB
917 Bytes
5.17 KB
8.06 KB
5.46 KB
20.5 KB
| 1 | -<!DOCTYPE html> | ||
| 2 | -<html> | ||
| 3 | -<head> | ||
| 4 | - <!-- | ||
| 5 | - If you are serving your web app in a path other than the root, change the | ||
| 6 | - href value below to reflect the base path you are serving from. | ||
| 7 | - | ||
| 8 | - The path provided below has to start and end with a slash "/" in order for | ||
| 9 | - it to work correctly. | ||
| 10 | - | ||
| 11 | - For more details: | ||
| 12 | - * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base | ||
| 13 | - | ||
| 14 | - This is a placeholder for base href that will be replaced by the value of | ||
| 15 | - the `--base-href` argument provided to `flutter build`. | ||
| 16 | - --> | ||
| 17 | - <base href="$FLUTTER_BASE_HREF"> | ||
| 18 | - | ||
| 19 | - <meta charset="UTF-8"> | ||
| 20 | - <meta content="IE=Edge" http-equiv="X-UA-Compatible"> | ||
| 21 | - <meta name="description" content="A new Flutter project."> | ||
| 22 | - | ||
| 23 | - <!-- iOS meta tags & icons --> | ||
| 24 | - <meta name="apple-mobile-web-app-capable" content="yes"> | ||
| 25 | - <meta name="apple-mobile-web-app-status-bar-style" content="black"> | ||
| 26 | - <meta name="apple-mobile-web-app-title" content="example"> | ||
| 27 | - <link rel="apple-touch-icon" href="icons/Icon-192.png"> | ||
| 28 | - | ||
| 29 | - <!-- Favicon --> | ||
| 30 | - <link rel="icon" type="image/png" href="favicon.png"/> | ||
| 31 | - | ||
| 32 | - <title>example</title> | ||
| 33 | - <link rel="manifest" href="manifest.json"> | ||
| 34 | -</head> | ||
| 35 | -<body> | ||
| 36 | - <!-- This script installs service_worker.js to provide PWA functionality to | ||
| 37 | - application. For more information, see: | ||
| 38 | - https://developers.google.com/web/fundamentals/primers/service-workers --> | ||
| 39 | - <script> | ||
| 40 | - var serviceWorkerVersion = null; | ||
| 41 | - var scriptLoaded = false; | ||
| 42 | - function loadMainDartJs() { | ||
| 43 | - if (scriptLoaded) { | ||
| 44 | - return; | ||
| 45 | - } | ||
| 46 | - scriptLoaded = true; | ||
| 47 | - var scriptTag = document.createElement('script'); | ||
| 48 | - scriptTag.src = 'main.dart.js'; | ||
| 49 | - scriptTag.type = 'application/javascript'; | ||
| 50 | - document.body.append(scriptTag); | ||
| 51 | - } | ||
| 52 | - | ||
| 53 | - if ('serviceWorker' in navigator) { | ||
| 54 | - // Service workers are supported. Use them. | ||
| 55 | - window.addEventListener('load', function () { | ||
| 56 | - // Wait for registration to finish before dropping the <script> tag. | ||
| 57 | - // Otherwise, the browser will load the script multiple times, | ||
| 58 | - // potentially different versions. | ||
| 59 | - var serviceWorkerUrl = 'flutter_service_worker.js?v=' + serviceWorkerVersion; | ||
| 60 | - navigator.serviceWorker.register(serviceWorkerUrl) | ||
| 61 | - .then((reg) => { | ||
| 62 | - function waitForActivation(serviceWorker) { | ||
| 63 | - serviceWorker.addEventListener('statechange', () => { | ||
| 64 | - if (serviceWorker.state == 'activated') { | ||
| 65 | - console.log('Installed new service worker.'); | ||
| 66 | - loadMainDartJs(); | ||
| 67 | - } | ||
| 68 | - }); | ||
| 69 | - } | ||
| 70 | - if (!reg.active && (reg.installing || reg.waiting)) { | ||
| 71 | - // No active web worker and we have installed or are installing | ||
| 72 | - // one for the first time. Simply wait for it to activate. | ||
| 73 | - waitForActivation(reg.installing || reg.waiting); | ||
| 74 | - } else if (!reg.active.scriptURL.endsWith(serviceWorkerVersion)) { | ||
| 75 | - // When the app updates the serviceWorkerVersion changes, so we | ||
| 76 | - // need to ask the service worker to update. | ||
| 77 | - console.log('New service worker available.'); | ||
| 78 | - reg.update(); | ||
| 79 | - waitForActivation(reg.installing); | ||
| 80 | - } else { | ||
| 81 | - // Existing service worker is still good. | ||
| 82 | - console.log('Loading app from service worker.'); | ||
| 83 | - loadMainDartJs(); | ||
| 84 | - } | ||
| 85 | - }); | ||
| 86 | - | ||
| 87 | - // If service worker doesn't succeed in a reasonable amount of time, | ||
| 88 | - // fallback to plaint <script> tag. | ||
| 89 | - setTimeout(() => { | ||
| 90 | - if (!scriptLoaded) { | ||
| 91 | - console.warn( | ||
| 92 | - 'Failed to load app from service worker. Falling back to plain <script> tag.', | ||
| 93 | - ); | ||
| 94 | - loadMainDartJs(); | ||
| 95 | - } | ||
| 96 | - }, 4000); | ||
| 97 | - }); | ||
| 98 | - } else { | ||
| 99 | - // Service workers not supported. Just drop the <script> tag. | ||
| 100 | - loadMainDartJs(); | ||
| 101 | - } | ||
| 102 | - </script> | ||
| 103 | -</body> | ||
| 104 | -</html> |
| 1 | -{ | ||
| 2 | - "name": "example", | ||
| 3 | - "short_name": "example", | ||
| 4 | - "start_url": ".", | ||
| 5 | - "display": "standalone", | ||
| 6 | - "background_color": "#0175C2", | ||
| 7 | - "theme_color": "#0175C2", | ||
| 8 | - "description": "A new Flutter project.", | ||
| 9 | - "orientation": "portrait-primary", | ||
| 10 | - "prefer_related_applications": false, | ||
| 11 | - "icons": [ | ||
| 12 | - { | ||
| 13 | - "src": "icons/Icon-192.png", | ||
| 14 | - "sizes": "192x192", | ||
| 15 | - "type": "image/png" | ||
| 16 | - }, | ||
| 17 | - { | ||
| 18 | - "src": "icons/Icon-512.png", | ||
| 19 | - "sizes": "512x512", | ||
| 20 | - "type": "image/png" | ||
| 21 | - }, | ||
| 22 | - { | ||
| 23 | - "src": "icons/Icon-maskable-192.png", | ||
| 24 | - "sizes": "192x192", | ||
| 25 | - "type": "image/png", | ||
| 26 | - "purpose": "maskable" | ||
| 27 | - }, | ||
| 28 | - { | ||
| 29 | - "src": "icons/Icon-maskable-512.png", | ||
| 30 | - "sizes": "512x512", | ||
| 31 | - "type": "image/png", | ||
| 32 | - "purpose": "maskable" | ||
| 33 | - } | ||
| 34 | - ] | ||
| 35 | -} |
| 1 | -cmake_minimum_required(VERSION 3.14) | ||
| 2 | -project(example LANGUAGES CXX) | ||
| 3 | - | ||
| 4 | -set(BINARY_NAME "example") | ||
| 5 | - | ||
| 6 | -cmake_policy(SET CMP0063 NEW) | ||
| 7 | - | ||
| 8 | -set(CMAKE_INSTALL_RPATH "$ORIGIN/lib") | ||
| 9 | - | ||
| 10 | -# Configure build options. | ||
| 11 | -get_property(IS_MULTICONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) | ||
| 12 | -if(IS_MULTICONFIG) | ||
| 13 | - set(CMAKE_CONFIGURATION_TYPES "Debug;Profile;Release" | ||
| 14 | - CACHE STRING "" FORCE) | ||
| 15 | -else() | ||
| 16 | - if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) | ||
| 17 | - set(CMAKE_BUILD_TYPE "Debug" CACHE | ||
| 18 | - STRING "Flutter build mode" FORCE) | ||
| 19 | - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS | ||
| 20 | - "Debug" "Profile" "Release") | ||
| 21 | - endif() | ||
| 22 | -endif() | ||
| 23 | - | ||
| 24 | -set(CMAKE_EXE_LINKER_FLAGS_PROFILE "${CMAKE_EXE_LINKER_FLAGS_RELEASE}") | ||
| 25 | -set(CMAKE_SHARED_LINKER_FLAGS_PROFILE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE}") | ||
| 26 | -set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE}") | ||
| 27 | -set(CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE}") | ||
| 28 | - | ||
| 29 | -# Use Unicode for all projects. | ||
| 30 | -add_definitions(-DUNICODE -D_UNICODE) | ||
| 31 | - | ||
| 32 | -# Compilation settings that should be applied to most targets. | ||
| 33 | -function(APPLY_STANDARD_SETTINGS TARGET) | ||
| 34 | - target_compile_features(${TARGET} PUBLIC cxx_std_17) | ||
| 35 | - target_compile_options(${TARGET} PRIVATE /W4 /WX /wd"4100") | ||
| 36 | - target_compile_options(${TARGET} PRIVATE /EHsc) | ||
| 37 | - target_compile_definitions(${TARGET} PRIVATE "_HAS_EXCEPTIONS=0") | ||
| 38 | - target_compile_definitions(${TARGET} PRIVATE "$<$<CONFIG:Debug>:_DEBUG>") | ||
| 39 | -endfunction() | ||
| 40 | - | ||
| 41 | -set(FLUTTER_MANAGED_DIR "${CMAKE_CURRENT_SOURCE_DIR}/flutter") | ||
| 42 | - | ||
| 43 | -# Flutter library and tool build rules. | ||
| 44 | -add_subdirectory(${FLUTTER_MANAGED_DIR}) | ||
| 45 | - | ||
| 46 | -# Application build | ||
| 47 | -add_subdirectory("runner") | ||
| 48 | - | ||
| 49 | -# Generated plugin build rules, which manage building the plugins and adding | ||
| 50 | -# them to the application. | ||
| 51 | -include(flutter/generated_plugins.cmake) | ||
| 52 | - | ||
| 53 | - | ||
| 54 | -# === Installation === | ||
| 55 | -# Support files are copied into place next to the executable, so that it can | ||
| 56 | -# run in place. This is done instead of making a separate bundle (as on Linux) | ||
| 57 | -# so that building and running from within Visual Studio will work. | ||
| 58 | -set(BUILD_BUNDLE_DIR "$<TARGET_FILE_DIR:${BINARY_NAME}>") | ||
| 59 | -# Make the "install" step default, as it's required to run. | ||
| 60 | -set(CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD 1) | ||
| 61 | -if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) | ||
| 62 | - set(CMAKE_INSTALL_PREFIX "${BUILD_BUNDLE_DIR}" CACHE PATH "..." FORCE) | ||
| 63 | -endif() | ||
| 64 | - | ||
| 65 | -set(INSTALL_BUNDLE_DATA_DIR "${CMAKE_INSTALL_PREFIX}/data") | ||
| 66 | -set(INSTALL_BUNDLE_LIB_DIR "${CMAKE_INSTALL_PREFIX}") | ||
| 67 | - | ||
| 68 | -install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}" | ||
| 69 | - COMPONENT Runtime) | ||
| 70 | - | ||
| 71 | -install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" | ||
| 72 | - COMPONENT Runtime) | ||
| 73 | - | ||
| 74 | -install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" | ||
| 75 | - COMPONENT Runtime) | ||
| 76 | - | ||
| 77 | -if(PLUGIN_BUNDLED_LIBRARIES) | ||
| 78 | - install(FILES "${PLUGIN_BUNDLED_LIBRARIES}" | ||
| 79 | - DESTINATION "${INSTALL_BUNDLE_LIB_DIR}" | ||
| 80 | - COMPONENT Runtime) | ||
| 81 | -endif() | ||
| 82 | - | ||
| 83 | -# Fully re-copy the assets directory on each build to avoid having stale files | ||
| 84 | -# from a previous install. | ||
| 85 | -set(FLUTTER_ASSET_DIR_NAME "flutter_assets") | ||
| 86 | -install(CODE " | ||
| 87 | - file(REMOVE_RECURSE \"${INSTALL_BUNDLE_DATA_DIR}/${FLUTTER_ASSET_DIR_NAME}\") | ||
| 88 | - " COMPONENT Runtime) | ||
| 89 | -install(DIRECTORY "${PROJECT_BUILD_DIR}/${FLUTTER_ASSET_DIR_NAME}" | ||
| 90 | - DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" COMPONENT Runtime) | ||
| 91 | - | ||
| 92 | -# Install the AOT library on non-Debug builds only. | ||
| 93 | -install(FILES "${AOT_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}" | ||
| 94 | - CONFIGURATIONS Profile;Release | ||
| 95 | - COMPONENT Runtime) |
| 1 | -cmake_minimum_required(VERSION 3.14) | ||
| 2 | - | ||
| 3 | -set(EPHEMERAL_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ephemeral") | ||
| 4 | - | ||
| 5 | -# Configuration provided via flutter tool. | ||
| 6 | -include(${EPHEMERAL_DIR}/generated_config.cmake) | ||
| 7 | - | ||
| 8 | -# TODO: Move the rest of this into files in ephemeral. See | ||
| 9 | -# https://github.com/flutter/flutter/issues/57146. | ||
| 10 | -set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper") | ||
| 11 | - | ||
| 12 | -# === Flutter Library === | ||
| 13 | -set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll") | ||
| 14 | - | ||
| 15 | -# Published to parent scope for install step. | ||
| 16 | -set(FLUTTER_LIBRARY ${FLUTTER_LIBRARY} PARENT_SCOPE) | ||
| 17 | -set(FLUTTER_ICU_DATA_FILE "${EPHEMERAL_DIR}/icudtl.dat" PARENT_SCOPE) | ||
| 18 | -set(PROJECT_BUILD_DIR "${PROJECT_DIR}/build/" PARENT_SCOPE) | ||
| 19 | -set(AOT_LIBRARY "${PROJECT_DIR}/build/windows/app.so" PARENT_SCOPE) | ||
| 20 | - | ||
| 21 | -list(APPEND FLUTTER_LIBRARY_HEADERS | ||
| 22 | - "flutter_export.h" | ||
| 23 | - "flutter_windows.h" | ||
| 24 | - "flutter_messenger.h" | ||
| 25 | - "flutter_plugin_registrar.h" | ||
| 26 | - "flutter_texture_registrar.h" | ||
| 27 | -) | ||
| 28 | -list(TRANSFORM FLUTTER_LIBRARY_HEADERS PREPEND "${EPHEMERAL_DIR}/") | ||
| 29 | -add_library(flutter INTERFACE) | ||
| 30 | -target_include_directories(flutter INTERFACE | ||
| 31 | - "${EPHEMERAL_DIR}" | ||
| 32 | -) | ||
| 33 | -target_link_libraries(flutter INTERFACE "${FLUTTER_LIBRARY}.lib") | ||
| 34 | -add_dependencies(flutter flutter_assemble) | ||
| 35 | - | ||
| 36 | -# === Wrapper === | ||
| 37 | -list(APPEND CPP_WRAPPER_SOURCES_CORE | ||
| 38 | - "core_implementations.cc" | ||
| 39 | - "standard_codec.cc" | ||
| 40 | -) | ||
| 41 | -list(TRANSFORM CPP_WRAPPER_SOURCES_CORE PREPEND "${WRAPPER_ROOT}/") | ||
| 42 | -list(APPEND CPP_WRAPPER_SOURCES_PLUGIN | ||
| 43 | - "plugin_registrar.cc" | ||
| 44 | -) | ||
| 45 | -list(TRANSFORM CPP_WRAPPER_SOURCES_PLUGIN PREPEND "${WRAPPER_ROOT}/") | ||
| 46 | -list(APPEND CPP_WRAPPER_SOURCES_APP | ||
| 47 | - "flutter_engine.cc" | ||
| 48 | - "flutter_view_controller.cc" | ||
| 49 | -) | ||
| 50 | -list(TRANSFORM CPP_WRAPPER_SOURCES_APP PREPEND "${WRAPPER_ROOT}/") | ||
| 51 | - | ||
| 52 | -# Wrapper sources needed for a plugin. | ||
| 53 | -add_library(flutter_wrapper_plugin STATIC | ||
| 54 | - ${CPP_WRAPPER_SOURCES_CORE} | ||
| 55 | - ${CPP_WRAPPER_SOURCES_PLUGIN} | ||
| 56 | -) | ||
| 57 | -apply_standard_settings(flutter_wrapper_plugin) | ||
| 58 | -set_target_properties(flutter_wrapper_plugin PROPERTIES | ||
| 59 | - POSITION_INDEPENDENT_CODE ON) | ||
| 60 | -set_target_properties(flutter_wrapper_plugin PROPERTIES | ||
| 61 | - CXX_VISIBILITY_PRESET hidden) | ||
| 62 | -target_link_libraries(flutter_wrapper_plugin PUBLIC flutter) | ||
| 63 | -target_include_directories(flutter_wrapper_plugin PUBLIC | ||
| 64 | - "${WRAPPER_ROOT}/include" | ||
| 65 | -) | ||
| 66 | -add_dependencies(flutter_wrapper_plugin flutter_assemble) | ||
| 67 | - | ||
| 68 | -# Wrapper sources needed for the runner. | ||
| 69 | -add_library(flutter_wrapper_app STATIC | ||
| 70 | - ${CPP_WRAPPER_SOURCES_CORE} | ||
| 71 | - ${CPP_WRAPPER_SOURCES_APP} | ||
| 72 | -) | ||
| 73 | -apply_standard_settings(flutter_wrapper_app) | ||
| 74 | -target_link_libraries(flutter_wrapper_app PUBLIC flutter) | ||
| 75 | -target_include_directories(flutter_wrapper_app PUBLIC | ||
| 76 | - "${WRAPPER_ROOT}/include" | ||
| 77 | -) | ||
| 78 | -add_dependencies(flutter_wrapper_app flutter_assemble) | ||
| 79 | - | ||
| 80 | -# === Flutter tool backend === | ||
| 81 | -# _phony_ is a non-existent file to force this command to run every time, | ||
| 82 | -# since currently there's no way to get a full input/output list from the | ||
| 83 | -# flutter tool. | ||
| 84 | -set(PHONY_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/_phony_") | ||
| 85 | -set_source_files_properties("${PHONY_OUTPUT}" PROPERTIES SYMBOLIC TRUE) | ||
| 86 | -add_custom_command( | ||
| 87 | - OUTPUT ${FLUTTER_LIBRARY} ${FLUTTER_LIBRARY_HEADERS} | ||
| 88 | - ${CPP_WRAPPER_SOURCES_CORE} ${CPP_WRAPPER_SOURCES_PLUGIN} | ||
| 89 | - ${CPP_WRAPPER_SOURCES_APP} | ||
| 90 | - ${PHONY_OUTPUT} | ||
| 91 | - COMMAND ${CMAKE_COMMAND} -E env | ||
| 92 | - ${FLUTTER_TOOL_ENVIRONMENT} | ||
| 93 | - "${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat" | ||
| 94 | - windows-x64 $<CONFIG> | ||
| 95 | - VERBATIM | ||
| 96 | -) | ||
| 97 | -add_custom_target(flutter_assemble DEPENDS | ||
| 98 | - "${FLUTTER_LIBRARY}" | ||
| 99 | - ${FLUTTER_LIBRARY_HEADERS} | ||
| 100 | - ${CPP_WRAPPER_SOURCES_CORE} | ||
| 101 | - ${CPP_WRAPPER_SOURCES_PLUGIN} | ||
| 102 | - ${CPP_WRAPPER_SOURCES_APP} | ||
| 103 | -) |
library/calendar_date_picker2-1.1.5/example/windows/flutter/generated_plugin_registrant.h
deleted
100644 → 0
| 1 | -// | ||
| 2 | -// Generated file. Do not edit. | ||
| 3 | -// | ||
| 4 | - | ||
| 5 | -// clang-format off | ||
| 6 | - | ||
| 7 | -#ifndef GENERATED_PLUGIN_REGISTRANT_ | ||
| 8 | -#define GENERATED_PLUGIN_REGISTRANT_ | ||
| 9 | - | ||
| 10 | -#include <flutter/plugin_registry.h> | ||
| 11 | - | ||
| 12 | -// Registers Flutter plugins. | ||
| 13 | -void RegisterPlugins(flutter::PluginRegistry* registry); | ||
| 14 | - | ||
| 15 | -#endif // GENERATED_PLUGIN_REGISTRANT_ |
library/calendar_date_picker2-1.1.5/example/windows/flutter/generated_plugins.cmake
deleted
100644 → 0
| 1 | -# | ||
| 2 | -# Generated file, do not edit. | ||
| 3 | -# | ||
| 4 | - | ||
| 5 | -list(APPEND FLUTTER_PLUGIN_LIST | ||
| 6 | -) | ||
| 7 | - | ||
| 8 | -list(APPEND FLUTTER_FFI_PLUGIN_LIST | ||
| 9 | -) | ||
| 10 | - | ||
| 11 | -set(PLUGIN_BUNDLED_LIBRARIES) | ||
| 12 | - | ||
| 13 | -foreach(plugin ${FLUTTER_PLUGIN_LIST}) | ||
| 14 | - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) | ||
| 15 | - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) | ||
| 16 | - list(APPEND PLUGIN_BUNDLED_LIBRARIES $<TARGET_FILE:${plugin}_plugin>) | ||
| 17 | - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) | ||
| 18 | -endforeach(plugin) | ||
| 19 | - | ||
| 20 | -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) | ||
| 21 | - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) | ||
| 22 | - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) | ||
| 23 | -endforeach(ffi_plugin) |
-
Please register or login to post a comment