Skip to content

Commit

Permalink
feat: Add Picker and Storage.
Browse files Browse the repository at this point in the history
  • Loading branch information
mathrunet committed Dec 20, 2022
1 parent c3b787d commit e024a7e
Show file tree
Hide file tree
Showing 5 changed files with 111 additions and 11 deletions.
32 changes: 30 additions & 2 deletions packages/masamune/example/pubspec.lock
Expand Up @@ -190,6 +190,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.4"
file_picker:
dependency: transitive
description:
name: file_picker
url: "https://pub.dartlang.org"
source: hosted
version: "5.2.4"
fixnum:
dependency: transitive
description:
Expand Down Expand Up @@ -221,6 +228,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.7"
flutter_test:
dependency: "direct dev"
description: flutter
Expand Down Expand Up @@ -342,7 +356,7 @@ packages:
name: katana_form
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.7"
version: "1.3.0"
katana_indicator:
dependency: transitive
description:
Expand Down Expand Up @@ -384,7 +398,14 @@ packages:
name: katana_model
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.15"
version: "1.3.16"
katana_picker:
dependency: transitive
description:
path: "../../katana_picker"
relative: true
source: path
version: "1.1.0"
katana_router:
dependency: transitive
description:
Expand Down Expand Up @@ -413,6 +434,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.4"
katana_storage:
dependency: transitive
description:
path: "../../katana_storage"
relative: true
source: path
version: "1.0.0"
katana_theme:
dependency: transitive
description:
Expand Down
4 changes: 3 additions & 1 deletion packages/masamune/lib/masamune.dart
Expand Up @@ -17,16 +17,18 @@ export 'package:katana_form/katana_form.dart';
export 'package:katana_indicator/katana_indicator.dart';
export 'package:katana_listenables/katana_listenables.dart';
export 'package:katana_localization/katana_localization.dart';
export 'package:katana_picker/katana_picker.dart';
export 'package:katana_model/katana_model.dart';
export 'package:katana_router/katana_router.dart';
export 'package:katana_scoped/katana_scoped.dart';
export 'package:katana_shorten/katana_shorten.dart';
export 'package:katana_storage/katana_storage.dart';
export 'package:katana_theme/katana_theme.dart';
export 'package:katana_ui/katana_ui.dart';
export 'package:masamune_annotation/masamune_annotation.dart';
export 'package:meta/meta.dart' show useResult;

part 'model/model.dart';
part 'form/form_scoped_widget.dart';
part 'model/model.dart';
part 'scoped/controller.dart';
part 'src/masamune_app.dart';
50 changes: 44 additions & 6 deletions packages/masamune/lib/src/masamune_app.dart
Expand Up @@ -97,6 +97,8 @@ class MasamuneApp extends StatelessWidget {
super.key,
this.appRef,
this.authAdapter,
this.pickerAdapter,
this.storageAdapter,
this.theme,
this.localize,
this.routerConfig,
Expand Down Expand Up @@ -142,6 +144,16 @@ class MasamuneApp extends StatelessWidget {
/// `katana_model`で利用されるデータベース用のアダプター。
final ModelAdapter? modelAdapter;

/// Adapter for file pickers used by `katana_picker`.
///
/// `katana_picker`で利用されるファイルピッカー用のアダプター。
final PickerAdapter? pickerAdapter;

/// Adapter for file storage used by `katana_storage`.
///
/// `katana_storage`で利用されるファイルストレージ用のアダプター。
final StorageAdapter? storageAdapter;

/// Config for router used by `katana_router`.
///
/// `katana_router`で利用されるルーター用のコンフィグ。
Expand Down Expand Up @@ -284,17 +296,23 @@ class MasamuneApp extends StatelessWidget {

@override
Widget build(BuildContext context) {
return _buildAppAuth(
return _buildAppPicker(
context,
_buildModelAdapter(
_buildAppStorage(
context,
_buildAppScoped(
_buildAppAuth(
context,
_buildAppTheme(
_buildModelAdapter(
context,
_buildAppLocalize(
_buildAppScoped(
context,
_buildAppRouter(context),
_buildAppTheme(
context,
_buildAppLocalize(
context,
_buildAppRouter(context),
),
),
),
),
),
Expand Down Expand Up @@ -352,6 +370,26 @@ class MasamuneApp extends StatelessWidget {
return child;
}

Widget _buildAppStorage(BuildContext context, Widget child) {
if (storageAdapter != null) {
return StorageAdapterScope(
adapter: storageAdapter!,
child: child,
);
}
return child;
}

Widget _buildAppPicker(BuildContext context, Widget child) {
if (pickerAdapter != null) {
return PickerAdapterScope(
adapter: pickerAdapter!,
child: child,
);
}
return child;
}

Widget _buildAppRouter(BuildContext context) {
if (home != null || routerConfig == null) {
return MaterialApp(
Expand Down
32 changes: 30 additions & 2 deletions packages/masamune/pubspec.lock
Expand Up @@ -92,6 +92,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "6.1.4"
file_picker:
dependency: transitive
description:
name: file_picker
url: "https://pub.dartlang.org"
source: hosted
version: "5.2.4"
flutter:
dependency: "direct main"
description: flutter
Expand All @@ -109,6 +116,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.5"
flutter_plugin_android_lifecycle:
dependency: transitive
description:
name: flutter_plugin_android_lifecycle
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.7"
flutter_test:
dependency: "direct dev"
description: flutter
Expand Down Expand Up @@ -167,7 +181,7 @@ packages:
name: katana_form
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.7"
version: "1.3.0"
katana_indicator:
dependency: "direct main"
description:
Expand Down Expand Up @@ -209,7 +223,14 @@ packages:
name: katana_model
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.15"
version: "1.3.16"
katana_picker:
dependency: "direct main"
description:
path: "../katana_picker"
relative: true
source: path
version: "1.1.0"
katana_router:
dependency: "direct main"
description:
Expand Down Expand Up @@ -238,6 +259,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.4"
katana_storage:
dependency: "direct main"
description:
path: "../katana_storage"
relative: true
source: path
version: "1.0.0"
katana_theme:
dependency: "direct main"
description:
Expand Down
4 changes: 4 additions & 0 deletions packages/masamune/pubspec.yaml
Expand Up @@ -29,6 +29,10 @@ dependencies:
path: ../katana_ui
masamune_annotation:
path: ../masamune_annotation
katana_picker:
path: ../katana_picker
katana_storage:
path: ../katana_storage
dev_dependencies:
flutter_test:
sdk: flutter
Expand Down

0 comments on commit e024a7e

Please sign in to comment.