From 9c8e7bf3477a528557993f646de5c04c39cb1338 Mon Sep 17 00:00:00 2001 From: Vitaliy Zarubin Date: Thu, 6 Jul 2023 11:54:16 +0300 Subject: [PATCH] [sqflite_aurora] First commit --- example/lib/packages/sqflite/model.dart | 22 ++++++++ example/lib/packages/sqflite/package.dart | 20 ++++---- example/lib/packages/sqflite/page.dart | 61 +++++++++++++++++++++++ example/pubspec.lock | 11 +++- example/pubspec.yaml | 11 +++- 5 files changed, 114 insertions(+), 11 deletions(-) create mode 100644 example/lib/packages/sqflite/model.dart create mode 100644 example/lib/packages/sqflite/page.dart diff --git a/example/lib/packages/sqflite/model.dart b/example/lib/packages/sqflite/model.dart new file mode 100644 index 0000000..04f563f --- /dev/null +++ b/example/lib/packages/sqflite/model.dart @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'package:flutter/widgets.dart'; +import 'package:scoped_model/scoped_model.dart'; + +/// Model for [SqflitePage] +class SqfliteModel extends Model { + /// Get [ScopedModel] + static SqfliteModel of(BuildContext context) => + ScopedModel.of(context); + + /// Error + String? _error; + + /// Public error + String? get error => _error; + + /// Public is error + bool get isError => _error != null; +} diff --git a/example/lib/packages/sqflite/package.dart b/example/lib/packages/sqflite/package.dart index 9235b02..bce64ea 100644 --- a/example/lib/packages/sqflite/package.dart +++ b/example/lib/packages/sqflite/package.dart @@ -2,23 +2,25 @@ * Copyright (c) 2023. Open Mobile Platform LLC. * License: Proprietary. */ -import 'package:flutter_example_packages/base/package/package_dialog.dart'; +import 'package:flutter_example_packages/base/package/package_page.dart'; +import 'package:get_it/get_it.dart'; + +import 'model.dart'; +import 'page.dart'; /// Package values -final packageSqflite = PackageDialog( +final packageSqflite = PackagePage( key: 'sqflite', descEN: ''' SQLite plugin for Flutter. Supports iOS, Android, MacOS and Aurora OS. ''', descRU: ''' - Плагин SQLite для Flutter. Поддерживает iOS, Android, MacOS и ОС Aurora. + Плагин SQLite для Flutter. Поддерживает iOS, Android, MacOS и ОС Аврора. ''', - messageEN: ''' - Platform dependent plugin. Preview of work in development. - ''', - messageRU: ''' - Платформо-зависимый плагин. Превью работы в разработке. - ''', version: '2.2.6', isPlatformDependent: true, + page: () => SqflitePage(), + init: () { + GetIt.instance.registerFactory(() => SqfliteModel()); + }, ); diff --git a/example/lib/packages/sqflite/page.dart b/example/lib/packages/sqflite/page.dart new file mode 100644 index 0000000..e729fe8 --- /dev/null +++ b/example/lib/packages/sqflite/page.dart @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2023. Open Mobile Platform LLC. + * License: Proprietary. + */ +import 'package:flutter/material.dart'; +import 'package:flutter_example_packages/base/di/app_di.dart'; +import 'package:flutter_example_packages/base/package/package.dart'; +import 'package:flutter_example_packages/widgets/base/export.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_alert.dart'; +import 'package:flutter_example_packages/widgets/blocks/block_info_package.dart'; +import 'package:flutter_example_packages/widgets/layouts/block_layout.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + +import 'model.dart'; +import 'package.dart'; + +class SqflitePage extends AppStatefulWidget { + SqflitePage({ + super.key, + }); + + final Package package = packageSqflite; + + @override + State createState() => _SqflitePageState(); +} + +class _SqflitePageState extends AppState { + @override + Widget buildWide( + BuildContext context, + MediaQueryData media, + AppLocalizations l10n, + ) { + return BlockLayout( + model: getIt(), + title: widget.package.key, + builder: (context, child, model) { + return SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(20), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + BlockInfoPackage(widget.package), + BlockAlert(model.error), + if (!model.isError) + Form( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [], + ), + ), + ], + ), + ), + ); + }, + ); + } +} diff --git a/example/pubspec.lock b/example/pubspec.lock index 481ffbd..0c91629 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -827,12 +827,21 @@ packages: source: hosted version: "1.9.0" sqflite: - dependency: transitive + dependency: "direct main" description: name: sqflite url: "https://pub.dartlang.org" source: hosted version: "2.2.8+4" + sqflite_aurora: + dependency: "direct main" + description: + path: "packages/sqflite/sqflite_aurora" + ref: flutter_example_packages + resolved-ref: d28f11025cf5e9cdb3f9cb7c90e373a5a2efa1ed + url: "git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git" + source: git + version: "2.2.6+aurora1" sqflite_common: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 0e7d645..80a2e69 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -82,7 +82,7 @@ dependencies: ## https://pub.dev/packages/package_info_plus package_info_plus: 3.1.2 - ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/flutter_example_packages/packages/package_info_plus/package_info_plus_aurora + ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/package_info_plus/package_info_plus_aurora package_info_plus_aurora: git: url: git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git @@ -125,6 +125,15 @@ dependencies: ref: flutter_example_packages path: packages/flutter_keyboard_visibility/flutter_keyboard_visibility_aurora + ## https://pub.dev/packages/sqflite + sqflite: ^2.2.8+4 + ## https://os-git.omprussia.ru/non-oss/flutter/flutter-plugins/-/tree/master/packages/sqflite/sqflite_aurora + sqflite_aurora: + git: + url: git@os-git.omprussia.ru:non-oss/flutter/flutter-plugins.git + ref: flutter_example_packages + path: packages/sqflite/sqflite_aurora + dev_dependencies: flutter_test: sdk: