Line data Source code
1 : import 'package:pal/src/database/entity/helper/helper_entity.dart';
2 : import 'package:pal/src/database/entity/helper/helper_type.dart';
3 : import 'package:pal/src/ui/shared/helper_shared_factory.dart';
4 :
5 : import 'helper_editor_models.dart';
6 :
7 : class HelperEditorAdapter {
8 :
9 1 : static HelperEntity parseSimpleHelper(CreateSimpleHelper args, int minVersionId, int maxVersionId)
10 2 : => _parseConfig(args.config, HelperType.SIMPLE_HELPER, minVersionId, maxVersionId)
11 4 : ..helperTexts = [_parseHelperText(SimpleHelperKeys.CONTENT_KEY, args.titleText)]
12 4 : ..helperBoxes = [_parseHelperBox(SimpleHelperKeys.BACKGROUND_KEY, args.boxConfig)];
13 :
14 1 : static HelperEntity parseFullscreenHelper(CreateFullScreenHelper args, int minVersionId, int maxVersionId)
15 2 : => _parseConfig(args.config, HelperType.HELPER_FULL_SCREEN, minVersionId, maxVersionId)
16 6 : ..helperImages = args.mediaHeader?.url != null && args.mediaHeader.url.isNotEmpty ?
17 3 : [_parseHelperImage(FullscreenHelperKeys.IMAGE_KEY, args.mediaHeader)]:[]
18 2 : ..helperTexts = [
19 2 : _parseHelperText(FullscreenHelperKeys.TITLE_KEY, args.title),
20 2 : _parseHelperText(FullscreenHelperKeys.DESCRIPTION_KEY, args.description),
21 2 : _parseHelperText(FullscreenHelperKeys.POSITIV_KEY, args.positivButton),
22 2 : _parseHelperText(FullscreenHelperKeys.NEGATIV_KEY, args.negativButton),
23 : ]
24 4 : ..helperBoxes = [_parseHelperBox(FullscreenHelperKeys.BACKGROUND_KEY, args.bodyBox)];
25 :
26 1 : static HelperEntity parseUpdateHelper(CreateUpdateHelper args, int minVersionId, int maxVersionId)
27 2 : => _parseConfig(args.config, HelperType.UPDATE_HELPER, minVersionId, maxVersionId)
28 2 : ..helperTexts = [
29 2 : _parseHelperText(UpdatescreenHelperKeys.TITLE_KEY, args.title),
30 2 : _parseHelperText(UpdatescreenHelperKeys.POSITIV_KEY, args.positivButton),
31 5 : ...args.lines.map((element) => _parseHelperText(
32 3 : "${UpdatescreenHelperKeys.LINES_KEY}:${args.lines.indexOf(element)}",
33 : element)
34 : ),
35 : ]
36 4 : ..helperBoxes = [_parseHelperBox(UpdatescreenHelperKeys.BACKGROUND_KEY, args.bodyBox)]
37 6 : ..helperImages = args.headerMedia?.url != null && args.headerMedia.url.isNotEmpty ?
38 3 : [_parseHelperImage(UpdatescreenHelperKeys.IMAGE_KEY, args.headerMedia)]:[];
39 :
40 : //-------------------------------------------------------------
41 : //-------------------------------------------------------------
42 :
43 1 : static HelperBoxEntity _parseHelperBox(String key, HelperBoxConfig boxConfig) {
44 1 : return HelperBoxEntity(
45 1 : id: boxConfig?.id,
46 : key: SimpleHelperKeys.BACKGROUND_KEY,
47 1 : backgroundColor: boxConfig?.color,
48 : );
49 : }
50 :
51 1 : static HelperTextEntity _parseHelperText(String key, HelperTextConfig textConfig, ) {
52 1 : return HelperTextEntity(
53 1 : id: textConfig?.id,
54 1 : fontColor: textConfig?.fontColor,
55 1 : fontWeight: textConfig?.fontWeight,
56 1 : fontSize: textConfig?.fontSize,
57 1 : value: textConfig?.text,
58 1 : fontFamily: textConfig?.fontFamily,
59 : key: key,
60 : );
61 : }
62 :
63 1 : static HelperEntity _parseConfig(CreateHelperConfig config, HelperType type, int minVersionId, int maxVersionId)
64 1 : => HelperEntity(
65 1 : id: config.id,
66 1 : name: config.name,
67 : type: type,
68 1 : triggerType: config.triggerType,
69 1 : priority: config.priority,
70 : versionMinId: minVersionId,
71 : versionMaxId: maxVersionId,
72 : );
73 :
74 1 : static HelperImageEntity _parseHelperImage(String key, HelperMediaConfig mediaConfig)
75 3 : => HelperImageEntity(id: mediaConfig.id, url: mediaConfig.url, key: key);
76 : }
|