Line data Source code
1 : import 'package:flutter/widgets.dart'; 2 : import 'package:mvvm_builder/mvvm_builder.dart'; 3 : import 'package:pal/src/database/entity/helper/helper_entity.dart'; 4 : import 'package:pal/src/database/entity/helper/helper_theme.dart'; 5 : import 'package:pal/src/database/entity/helper/helper_trigger_type.dart'; 6 : import 'package:pal/src/database/entity/helper/helper_type.dart'; 7 : import 'package:pal/src/ui/editor/pages/create_helper/steps/create_helper_infos/create_helper_infos_step_model.dart'; 8 : import 'package:pal/src/ui/editor/pages/helper_editor/helper_editor_viewmodel.dart'; 9 : 10 : class CreateHelperModel extends MVVMModel { 11 : GlobalKey<NavigatorState> nestedNavigationKey; 12 : bool isFormValid; 13 : List<String> stepsTitle; 14 : ValueNotifier<int> step; 15 : 16 : // Step 1 17 : GlobalKey<FormState> infosForm; 18 : String selectedTriggerType; 19 : String appVersion; 20 : bool isAppVersionLoading; 21 : TextEditingController helperNameController; 22 : TextEditingController minVersionController; 23 : List<HelperTriggerTypeDisplay> triggerTypes; 24 : 25 : // Step 2 26 : HelperType selectedHelperType; 27 : 28 : // Step 3 29 : HelperTheme selectedHelperTheme; 30 : 31 1 : CreateHelperModel({ 32 : this.selectedTriggerType, 33 : this.minVersionController, 34 : this.nestedNavigationKey, 35 : this.infosForm, 36 : this.appVersion, 37 : this.isAppVersionLoading, 38 : this.isFormValid, 39 : this.triggerTypes, 40 : this.stepsTitle, 41 : this.step, 42 : this.helperNameController, 43 : this.selectedHelperType, 44 : this.selectedHelperTheme, 45 : }); 46 : 47 0 : HelperViewModel asHelperViewModel() => HelperViewModel( 48 0 : helperType: selectedHelperType, 49 0 : helperTheme: selectedHelperTheme, 50 0 : triggerType: getHelperTriggerType(selectedTriggerType), 51 0 : name: helperNameController?.value?.text, 52 0 : minVersionCode: appVersion, 53 : maxVersionCode: null 54 : ); 55 : 56 : 57 : }