Skip to content

Commit ed4b4a5

Browse files
authored
Merge pull request #166 from Onix-Systems/feat/project_modify_components
feat/project_modify_components
2 parents e791cae + e07324a commit ed4b4a5

File tree

106 files changed

+3125
-3152
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

106 files changed

+3125
-3152
lines changed

lib/app/localization/generated/intl/messages_en.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,8 @@ class MessageLookup extends MessageLookupByLibrary {
242242
"overwrite": MessageLookupByLibrary.simpleMessage("Overwrite"),
243243
"parseErrorMessage": MessageLookupByLibrary.simpleMessage(
244244
"Failed to Parse Swagger Components. Please try again or contact support if issue not resolved."),
245+
"parseSwaggerFile":
246+
MessageLookupByLibrary.simpleMessage("Parse Swagger file"),
245247
"pasteJsonHere":
246248
MessageLookupByLibrary.simpleMessage("Paste JSON here"),
247249
"path": MessageLookupByLibrary.simpleMessage("Path"),

lib/app/localization/generated/intl/messages_uk.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ class MessageLookup extends MessageLookupByLibrary {
249249
"overwrite": MessageLookupByLibrary.simpleMessage("Перезаписати"),
250250
"parseErrorMessage": MessageLookupByLibrary.simpleMessage(
251251
"Не вдалося отримати компоненти Swagger. Спробуйте знову або зв\'яжіться з підтримкою, якщо не вдається отримати компоненти."),
252+
"parseSwaggerFile":
253+
MessageLookupByLibrary.simpleMessage("Парсити Swagger файл"),
252254
"pasteJsonHere":
253255
MessageLookupByLibrary.simpleMessage("Вставте JSON сюди"),
254256
"path": MessageLookupByLibrary.simpleMessage("Шлях"),

lib/app/localization/generated/l10n.dart

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/app/localization/l10n/intl_en.arb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,5 +191,6 @@
191191
"requestAlreadyExistsError": "Such request already exists",
192192
"addChildren": "Add children?",
193193
"addChildrenContent": "Class depends on {children} that do not exist.\nGenerate them?",
194-
"jsonParserEmptyValueFailure": "Value of '{name}' is empty. Either remove '{name}' or add value."
194+
"jsonParserEmptyValueFailure": "Value of '{name}' is empty. Either remove '{name}' or add value.",
195+
"parseSwaggerFile": "Parse Swagger file"
195196
}

lib/app/localization/l10n/intl_uk.arb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,5 +191,6 @@
191191
"requestAlreadyExistsError": "Такий запит вже існує",
192192
"addChildren": "Додати залежності?",
193193
"addChildrenContent": "Клас залежить від {children} котрих ще не існує.\nЗгенерувати їх?",
194-
"jsonParserEmptyValueFailure": "Значення '{name}' порожнє. Видаліть '{name}' або додайте значення."
194+
"jsonParserEmptyValueFailure": "Значення '{name}' порожнє. Видаліть '{name}' або додайте значення.",
195+
"parseSwaggerFile": "Парсити Swagger файл"
195196
}

lib/app/router/app_router.dart

Lines changed: 18 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
//@formatter:off
22
import 'package:go_router/go_router.dart';
3-
import 'package:onix_flutter_bricks/domain/entity/config/branch_config.dart';
4-
import 'package:onix_flutter_bricks/domain/entity/config/config.dart';
53
import 'package:onix_flutter_bricks/presentation/screen/data_components_screen_v2/data_components_screen_v2.dart';
4+
import 'package:onix_flutter_bricks/presentation/screen/edit_project_screen/edit_project_screen.dart';
65
import 'package:onix_flutter_bricks/presentation/screen/figma_styles_screen/figma_styles_screen.dart';
76
import 'package:onix_flutter_bricks/presentation/screen/generation_screen/generation_screen.dart';
87
import 'package:onix_flutter_bricks/presentation/screen/platforms_screen/platforms_screen.dart';
@@ -29,6 +28,7 @@ class AppRouter {
2928
static const _swaggerParserScreen = '/swagger_parser';
3029
static const _summaryScreen = '/summary';
3130
static const _generationScreen = '/generation';
31+
static const _editProjectScreen = '/edit_project';
3232
//{consts end}
3333

3434
static final AppRouter _instance = AppRouter._privateConstructor();
@@ -45,6 +45,7 @@ class AppRouter {
4545
static String get swaggerParserScreen => _swaggerParserScreen;
4646
static String get summaryScreen => _summaryScreen;
4747
static String get generationScreen => _generationScreen;
48+
static String get editProjectScreen => _editProjectScreen;
4849

4950
//{getters end}
5051

@@ -68,73 +69,58 @@ class AppRouter {
6869
GoRoute(
6970
path: _projectNameScreen,
7071
name: 'ProjectNameScreen',
71-
builder: (context, state) => ProjectNameScreen(
72-
config: state.extra as Config,
73-
),
72+
builder: (context, state) => const ProjectNameScreen(),
7473
),
7574
GoRoute(
7675
path: _procedureSelectionScreen,
7776
name: 'ProcedureSelectionScreen',
78-
builder: (context, state) => ProcedureSelectionScreen(
79-
branchConfig: state.extra as BranchConfig,
80-
),
77+
builder: (context, state) => const ProcedureSelectionScreen(),
8178
),
8279
GoRoute(
8380
path: _platformsScreen,
8481
name: 'PlatformsScreen',
85-
builder: (context, state) => PlatformsScreen(
86-
config: state.extra as Config,
87-
),
82+
builder: (context, state) => const PlatformsScreen(),
8883
),
8984
GoRoute(
9085
path: _projectSettingsScreen,
9186
name: 'ProjectSettingsScreen',
92-
builder: (context, state) => ProjectSettingsScreen(
93-
config: state.extra as Config,
94-
),
87+
builder: (context, state) => const ProjectSettingsScreen(),
9588
),
9689
GoRoute(
9790
path: _screensScreen,
9891
name: 'ScreensScreen',
99-
builder: (context, state) => ScreensScreen(
100-
config: state.extra as Config,
101-
),
92+
builder: (context, state) => const ScreensScreen(),
10293
),
10394
GoRoute(
10495
path: _stylesScreen,
10596
name: 'StylesScreen',
106-
builder: (context, state) => FigmaStylesScreen(
107-
config: state.extra as Config,
108-
),
97+
builder: (context, state) => const FigmaStylesScreen(),
10998
),
11099
GoRoute(
111100
path: _dataComponentsScreen,
112101
name: 'DataComponentsScreen',
113-
builder: (context, state) => DataComponentsScreenV2(
114-
config: state.extra as Config,
115-
),
102+
builder: (context, state) => const DataComponentsScreenV2(),
116103
),
117104
GoRoute(
118105
path: _swaggerParserScreen,
119106
name: 'SwaggerParserScreen',
120-
builder: (context, state) => SwaggerParserScreen(
121-
config: state.extra as Config,
122-
),
107+
builder: (context, state) => const SwaggerParserScreen(),
123108
),
124109
GoRoute(
125110
path: _summaryScreen,
126111
name: 'SummaryScreen',
127-
builder: (context, state) => SummaryScreen(
128-
config: state.extra as Config,
129-
),
112+
builder: (context, state) => const SummaryScreen(),
130113
),
131114
GoRoute(
132115
path: _generationScreen,
133116
name: 'GenerationScreen',
134-
builder: (context, state) => GenerationScreen(
135-
extra: state.extra as GenerationScreenExtra,
136-
),
117+
builder: (context, state) => const GenerationScreen(),
137118
),
119+
GoRoute(
120+
path: _editProjectScreen,
121+
name: 'EditProjectScreen',
122+
builder: (context, state) => const EditProjectScreen(),
123+
)
138124
//{routes end}
139125
],
140126
);
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
extension ClearString on String {
2+
String clearSpaces() {
3+
var result = this;
4+
while (result.contains(' ')) {
5+
result = result.replaceAll(' ', ' ');
6+
}
7+
return result;
8+
}
9+
}

lib/core/di/bloc.dart

Lines changed: 82 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'package:get_it/get_it.dart';
22
import 'package:onix_flutter_bricks/domain/repository/screen_repository.dart';
3+
import 'package:onix_flutter_bricks/domain/service/config_service/config_service.dart';
34
import 'package:onix_flutter_bricks/domain/usecase/docs_generation/generate_documentation_usecase.dart';
45
import 'package:onix_flutter_bricks/domain/usecase/fastlane/generate_fastlane_files_use_case.dart';
56
import 'package:onix_flutter_bricks/domain/usecase/file_generation/generate_flavors_usecase.dart';
@@ -27,10 +28,12 @@ import 'package:onix_flutter_bricks/domain/usecase/swagger/edit_data_object_use_
2728
import 'package:onix_flutter_bricks/domain/usecase/swagger/edit_source_name_use_case.dart';
2829
import 'package:onix_flutter_bricks/domain/usecase/swagger/edit_source_request_use_case.dart';
2930
import 'package:onix_flutter_bricks/domain/usecase/swagger/empty_swagger_components_usecase.dart';
31+
import 'package:onix_flutter_bricks/domain/usecase/swagger/fetch_components_from_json_usecase.dart';
3032
import 'package:onix_flutter_bricks/domain/usecase/swagger/fetch_swagger_data_usecase.dart';
3133
import 'package:onix_flutter_bricks/domain/usecase/swagger/get_component_by_name_use_case.dart';
3234
import 'package:onix_flutter_bricks/domain/usecase/swagger/get_swagger_components_usecase.dart';
3335
import 'package:onix_flutter_bricks/domain/usecase/swagger/is_component_exists_use_case.dart';
36+
import 'package:onix_flutter_bricks/domain/usecase/swagger/restore_components_use_case.dart';
3437
import 'package:onix_flutter_bricks/presentation/screen/data_components_screen_v2/bloc/data_components_screen_v2_bloc_imports.dart';
3538
import 'package:onix_flutter_bricks/presentation/screen/data_components_screen_v2/widget/dialogs/add_edit_component_dialog/bloc/component_dialog_cubit.dart';
3639
import 'package:onix_flutter_bricks/presentation/screen/data_components_screen_v2/widget/dialogs/add_request_dialog/bloc/add_request_dialog_cubit.dart';
@@ -43,7 +46,6 @@ import 'package:onix_flutter_bricks/presentation/screen/procedure_selection_scre
4346
import 'package:onix_flutter_bricks/presentation/screen/project_name_screen/bloc/project_name_screen_bloc.dart';
4447
import 'package:onix_flutter_bricks/presentation/screen/project_settings_screen/bloc/project_settings_screen_bloc.dart';
4548
import 'package:onix_flutter_bricks/presentation/screen/screens_screen/bloc/screens_screen_bloc.dart';
46-
import 'package:onix_flutter_bricks/presentation/screen/screens_screen/widgets/figma_styles_dialog/bloc/figma_styles_dialog_bloc.dart';
4749
import 'package:onix_flutter_bricks/presentation/screen/splash_screen/bloc/splash_screen_bloc.dart';
4850
import 'package:onix_flutter_bricks/presentation/screen/summary_screen/bloc/summary_screen_bloc.dart';
4951
import 'package:onix_flutter_bricks/presentation/screen/swagger_parser_screen/bloc/swagger_parser_screen_bloc.dart';
@@ -52,93 +54,121 @@ void registerBloc(GetIt getIt) {
5254
getIt
5355
..registerFactory<GenerationScreenBloc>(
5456
() => GenerationScreenBloc(
55-
GetIt.I.get<GenerateDocumentationUseCase>(),
56-
GetIt.I.get<GenerateScreensUseCase>(),
57-
GetIt.I.get<AddOutputMessageUseCase>(),
58-
GetIt.I.get<RunProcessUseCase>(),
59-
GetIt.I.get<RunOsaScriptProcessUseCase>(),
60-
GetIt.I.get<GenerateSigningConfigUseCase>(),
61-
GetIt.I.get<GenerateStylesUseCase>(),
62-
GetIt.I.get<GetGenerationOutputStream>(),
63-
GetIt.I.get<GenerateFastlaneFilesUseCase>(),
64-
GetIt.I.get<CreateSwaggerComponentsUseCase>(),
65-
GetIt.I.get<GenerateGitCliffFilesUseCase>(),
57+
configService: getIt.get<ConfigService>(),
58+
generateDocumentationUseCase: getIt.get<GenerateDocumentationUseCase>(),
59+
generateFastlaneFilesUseCase: getIt.get<GenerateFastlaneFilesUseCase>(),
60+
generateGitCliffFilesUseCase: getIt.get<GenerateGitCliffFilesUseCase>(),
61+
generateScreensUseCase: getIt.get<GenerateScreensUseCase>(),
62+
generateStylesUseCase: getIt.get<GenerateStylesUseCase>(),
63+
addOutputMessageUseCase: getIt.get<AddOutputMessageUseCase>(),
64+
getGenerationOutputStream: getIt.get<GetGenerationOutputStream>(),
65+
runProcessUseCase: getIt.get<RunProcessUseCase>(),
66+
runOsaScriptProcessUseCase: getIt.get<RunOsaScriptProcessUseCase>(),
67+
createSwaggerComponentsUseCase:
68+
getIt.get<CreateSwaggerComponentsUseCase>(),
69+
generateSigningConfigUseCase: getIt.get<GenerateSigningConfigUseCase>(),
70+
),
71+
)
72+
..registerFactory<SummaryScreenBloc>(
73+
() => SummaryScreenBloc(
74+
screenRepository: getIt.get<ScreenRepository>(),
75+
configService: getIt.get<ConfigService>(),
6676
),
6777
)
68-
..registerFactory<SummaryScreenBloc>(SummaryScreenBloc.new)
6978
..registerFactory<SwaggerParserScreenBloc>(
7079
() => SwaggerParserScreenBloc(
71-
GetIt.I.get<FetchSwaggerDataUseCase>(),
72-
GetIt.I.get<ClearSwaggerComponentsUseCase>(),
80+
fetchSwaggerDataUseCase: getIt.get<FetchSwaggerDataUseCase>(),
81+
getComponentsUseCase: getIt.get<GetComponentsUseCase>(),
82+
restoreComponentsUseCase: getIt.get<RestoreComponentsUseCase>(),
83+
clearSwaggerComponentsUseCase:
84+
getIt.get<ClearSwaggerComponentsUseCase>(),
85+
configService: getIt.get<ConfigService>(),
7386
),
7487
)
75-
..registerFactory<ScreensScreenBloc>(ScreensScreenBloc.new)
76-
..registerFactory<FigmaStylesScreenBloc>(
77-
() => FigmaStylesScreenBloc(
78-
GetIt.I.get<GetFigmaStylesUseCase>(),
88+
..registerFactory<ScreensScreenBloc>(
89+
() => ScreensScreenBloc(
90+
configService: getIt.get<ConfigService>(),
91+
screenRepository: getIt.get<ScreenRepository>(),
7992
),
8093
)
81-
..registerFactory<FigmaStylesDialogBloc>(
82-
() => FigmaStylesDialogBloc(
83-
GetIt.I.get<GetFigmaStylesUseCase>(),
94+
..registerFactory<FigmaStylesScreenBloc>(
95+
() => FigmaStylesScreenBloc(
96+
getFigmaStylesUseCase: getIt.get<GetFigmaStylesUseCase>(),
97+
configService: getIt.get<ConfigService>(),
8498
),
8599
)
86100
..registerFactory<ProjectSettingsScreenBloc>(
87101
() => ProjectSettingsScreenBloc(
88-
screenRepository: GetIt.I.get<ScreenRepository>(),
102+
screenRepository: getIt.get<ScreenRepository>(),
103+
configService: getIt.get<ConfigService>(),
104+
),
105+
)
106+
..registerFactory<PlatformsScreenBloc>(
107+
() => PlatformsScreenBloc(
108+
configService: getIt.get<ConfigService>(),
89109
),
90110
)
91-
..registerFactory<PlatformsScreenBloc>(PlatformsScreenBloc.new)
92111
..registerFactory<ProjectNameScreenBloc>(
93112
() => ProjectNameScreenBloc(
94-
GetIt.I.get<GetBranchesProcessUseCase>(),
113+
getBranchesProcessUseCase: getIt.get<GetBranchesProcessUseCase>(),
114+
configService: getIt.get<ConfigService>(),
115+
),
116+
)
117+
..registerFactory<SplashScreenBloc>(
118+
() => SplashScreenBloc(
119+
configService: getIt.get<ConfigService>(),
95120
),
96121
)
97-
..registerFactory<SplashScreenBloc>(SplashScreenBloc.new)
98122
..registerFactory<ProcedureSelectionScreenBloc>(
99123
() => ProcedureSelectionScreenBloc(
100-
GetIt.I.get<GenerateSigningConfigUseCase>(),
101-
GetIt.I.get<GenerateFlavorsUseCase>(),
102-
GetIt.I.get<GetSigningFingerprintUseCase>(),
103-
GetIt.I.get<ClearSwaggerComponentsUseCase>(),
104-
GetIt.I.get<ClearScreensUseCase>(),
105-
GetIt.I.get<GetGenerationOutputStream>(),
106-
GetIt.I.get<ClearOutputUseCase>(),
107-
GetIt.I.get<RunProcessUseCase>(),
124+
configService: getIt.get<ConfigService>(),
125+
generateSigningConfigUseCase: getIt.get<GenerateSigningConfigUseCase>(),
126+
generateFlavorsUseCase: getIt.get<GenerateFlavorsUseCase>(),
127+
getSigningFingerprintUseCase: getIt.get<GetSigningFingerprintUseCase>(),
128+
clearSwaggerComponentsUseCase:
129+
getIt.get<ClearSwaggerComponentsUseCase>(),
130+
clearScreensUseCase: getIt.get<ClearScreensUseCase>(),
131+
getGenerationOutputStream: getIt.get<GetGenerationOutputStream>(),
132+
clearOutputUseCase: getIt.get<ClearOutputUseCase>(),
133+
runProcessUseCase: getIt.get<RunProcessUseCase>(),
134+
fetchComponentsFromJsonUseCase:
135+
getIt.get<FetchComponentsFromJsonUseCase>(),
136+
getComponentsUseCase: getIt.get<GetComponentsUseCase>(),
108137
),
109138
)
110139
..registerFactory<DataComponentsScreenV2Bloc>(
111140
() => DataComponentsScreenV2Bloc(
112-
getSwaggerComponentsUseCase: GetIt.I.get<GetSwaggerComponentsUseCase>(),
113-
addSourceUseCase: GetIt.I.get<AddSourceUseCase>(),
114-
deleteSourceUseCase: GetIt.I.get<DeleteSourceUseCase>(),
115-
editSourceNameUseCase: GetIt.I.get<EditSourceNameUseCase>(),
116-
deleteDataObjectComponentUseCase: GetIt.I.get<DeleteComponentUseCase>(),
117-
deleteSourceRequestUseCase: GetIt.I.get<DeleteSourceRequestUseCase>(),
141+
getSwaggerComponentsUseCase: getIt.get<GetComponentsUseCase>(),
142+
addSourceUseCase: getIt.get<AddSourceUseCase>(),
143+
deleteSourceUseCase: getIt.get<DeleteSourceUseCase>(),
144+
editSourceNameUseCase: getIt.get<EditSourceNameUseCase>(),
145+
deleteDataObjectComponentUseCase: getIt.get<DeleteComponentUseCase>(),
146+
deleteSourceRequestUseCase: getIt.get<DeleteSourceRequestUseCase>(),
147+
configService: getIt.get<ConfigService>(),
118148
),
119149
)
120150
..registerFactory<ComponentDialogCubit>(
121151
() => ComponentDialogCubit(
122-
addDataObjectComponentUseCase: GetIt.I.get<AddComponentUseCase>(),
123-
editDataObjectComponentUseCase: GetIt.I.get<EditComponentUseCase>(),
124-
getSwaggerComponentsUseCase: GetIt.I.get<GetSwaggerComponentsUseCase>(),
125-
isComponentExistsUseCase: GetIt.I.get<IsComponentExistsUseCase>(),
152+
addDataObjectComponentUseCase: getIt.get<AddComponentUseCase>(),
153+
editDataObjectComponentUseCase: getIt.get<EditComponentUseCase>(),
154+
getSwaggerComponentsUseCase: getIt.get<GetComponentsUseCase>(),
155+
isComponentExistsUseCase: getIt.get<IsComponentExistsUseCase>(),
126156
),
127157
)
128158
..registerFactory<AddRequestDialogCubit>(
129159
() => AddRequestDialogCubit(
130-
getSwaggerComponentsUseCase: GetIt.I.get<GetSwaggerComponentsUseCase>(),
131-
addSourceRequestUseCase: GetIt.I.get<AddSourceRequestUseCase>(),
132-
editSourceRequestUseCase: GetIt.I.get<EditSourceRequestUseCase>(),
133-
addComponentUseCase: GetIt.I.get<AddComponentUseCase>(),
134-
getComponentByNameUseCase: GetIt.I.get<GetComponentByNameUseCase>(),
135-
isComponentExistsUseCase: GetIt.I.get<IsComponentExistsUseCase>(),
160+
getSwaggerComponentsUseCase: getIt.get<GetComponentsUseCase>(),
161+
addSourceRequestUseCase: getIt.get<AddSourceRequestUseCase>(),
162+
editSourceRequestUseCase: getIt.get<EditSourceRequestUseCase>(),
163+
addComponentUseCase: getIt.get<AddComponentUseCase>(),
164+
getComponentByNameUseCase: getIt.get<GetComponentByNameUseCase>(),
165+
isComponentExistsUseCase: getIt.get<IsComponentExistsUseCase>(),
136166
),
137167
)
138168
..registerFactory<AddRequestParamsDialogCubit>(
139169
() => AddRequestParamsDialogCubit(
140-
getComponentByNameUseCase: GetIt.I.get<GetComponentByNameUseCase>(),
141-
getSwaggerComponentsUseCase: GetIt.I.get<GetSwaggerComponentsUseCase>(),
170+
getComponentByNameUseCase: getIt.get<GetComponentByNameUseCase>(),
171+
getSwaggerComponentsUseCase: getIt.get<GetComponentsUseCase>(),
142172
),
143173
)
144174
..registerFactory<ClassFromJsonDialogCubit>(ClassFromJsonDialogCubit.new);

lib/core/di/repository.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ void registerRepositories(GetIt getIt) {
1717
)
1818
..registerLazySingleton<FigmaRepository>(
1919
() => FigmaRepositoryImpl(
20-
figmaRemoteDataSource: GetIt.I.get<FigmaRemoteDataSource>(),
20+
figmaRemoteDataSource: getIt.get<FigmaRemoteDataSource>(),
2121
),
2222
)
2323
..registerLazySingleton<SwaggerRepository>(
2424
() => SwaggerRepositoryImpl(
25-
GetIt.I.get<SwaggerRemoteSource>(),
25+
getIt.get<SwaggerRemoteSource>(),
2626
),
2727
); //{repositories end}
2828
}

0 commit comments

Comments
 (0)