VinScannerScreenConfiguration.fromJson constructor
VinScannerScreenConfiguration.fromJson( - Map<String, dynamic> json
)
Implementation
factory VinScannerScreenConfiguration.fromJson(Map<String, dynamic> json) =>
VinScannerScreenConfiguration(
version:
json.containsKey("version") ? json["version"] as String : "1.0",
screen: json.containsKey("screen")
? json["screen"] as String
: "VINScanner",
localization: json.containsKey("localization")
? VinScannerScreenTextLocalization.fromJson(
json["localization"] as Map<String, dynamic>)
: VinScannerScreenTextLocalization(),
palette: json.containsKey("palette")
? Palette.fromJson(json["palette"] as Map<String, dynamic>)
: Palette(),
backgroundColor: json.containsKey("backgroundColor")
? ScanbotColor(json["backgroundColor"] as String)
: ScanbotColor("?sbColorSurfaceLow"),
cameraConfiguration: json.containsKey("cameraConfiguration")
? CameraConfiguration.fromJson(
json["cameraConfiguration"] as Map<String, dynamic>)
: CameraConfiguration(
orientationLockMode: OrientationLockMode.PORTRAIT),
cameraPermission: json.containsKey("cameraPermission")
? CameraPermissionScreen.fromJson(
json["cameraPermission"] as Map<String, dynamic>)
: CameraPermissionScreen(
statusBarMode: StatusBarMode.DARK,
background: ScanbotColor("?sbColorSurface"),
iconBackground: ScanbotColor("?sbColorOutline"),
icon: IconStyle(
visible: true, color: ScanbotColor("?sbColorOnSurface")),
enableCameraButton: ButtonConfiguration(
visible: true,
text: "?cameraPermissionEnableCameraButton",
accessibilityDescription:
"?accessibilityDescriptionCameraPermissionEnableCameraButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
closeButton: ButtonConfiguration(
visible: true,
text: "?cameraPermissionCloseButton",
accessibilityDescription:
"?accessibilityDescriptionCameraPermissionCloseButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false)),
enableCameraTitle: StyledText(
text: "?cameraPermissionEnableCameraTitle",
color: ScanbotColor("?sbColorOnSurface")),
enableCameraExplanation: StyledText(
text: "?cameraPermissionEnableCameraExplanation",
color: ScanbotColor("?sbColorOnSurfaceVariant"))),
topUserGuidance: json.containsKey("topUserGuidance")
? UserGuidanceConfiguration.fromJson(
json["topUserGuidance"] as Map<String, dynamic>)
: UserGuidanceConfiguration(
title: StyledText(text: "?topUserGuidance")),
finderViewUserGuidance: json.containsKey("finderViewUserGuidance")
? UserGuidanceConfiguration.fromJson(
json["finderViewUserGuidance"] as Map<String, dynamic>)
: UserGuidanceConfiguration(
title: StyledText(text: "?finderViewUserGuidance")),
topBar: json.containsKey("topBar")
? TopBarConfiguration.fromJson(
json["topBar"] as Map<String, dynamic>)
: TopBarConfiguration(
title: StyledText(visible: true, text: "?topBarTitle"),
cancelButton: ButtonConfiguration(
text: "?topBarCancelButton",
accessibilityDescription:
"?accessibilityDescriptionCancelButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 0.0),
foreground: ForegroundStyle(
color: ScanbotColor("?sbColorOnPrimary")))),
topBarOpenIntroScreenButton:
json.containsKey("topBarOpenIntroScreenButton")
? ScanbotIconButton.fromJson(
json["topBarOpenIntroScreenButton"] as Map<String, dynamic>)
: ScanbotIconButton(
color: ScanbotColor("?sbColorOnPrimary"),
accessibilityDescription:
"?accessibilityDescriptionOpenIntroScreenButton"),
introScreen: json.containsKey("introScreen")
? VinScannerIntroScreenConfiguration.fromJson(
json["introScreen"] as Map<String, dynamic>)
: VinScannerIntroScreenConfiguration(),
actionBar: json.containsKey("actionBar")
? ActionBarConfiguration.fromJson(
json["actionBar"] as Map<String, dynamic>)
: ActionBarConfiguration(
flipCameraButton: RoundButton(
visible: false,
accessibilityDescription:
"?accessibilityDescriptionFlipCameraButton",
backgroundColor: ScanbotColor("?sbColorSurfaceHigh"),
foregroundColor: ScanbotColor("?sbColorOnPrimary"),
activeBackgroundColor: ScanbotColor("?sbColorWarning"),
activeForegroundColor: ScanbotColor("#1C1B1F"))),
viewFinder: json.containsKey("viewFinder")
? PermanentViewFinderConfiguration.fromJson(
json["viewFinder"] as Map<String, dynamic>)
: PermanentViewFinderConfiguration(
style: FinderCorneredStyle(
strokeColor: ScanbotColor("?sbColorSurface"),
strokeWidth: 2.0),
aspectRatio: AspectRatio(width: 5.0, height: 1.0),
preferredHeight: 56.0),
scannerConfiguration: json.containsKey("scannerConfiguration")
? VinScannerConfiguration.fromJson(
json["scannerConfiguration"] as Map<String, dynamic>)
: VinScannerConfiguration(),
shouldShowWordBoxes: json.containsKey("shouldShowWordBoxes")
? (json["shouldShowWordBoxes"] as bool)
: true,
wordBoxesFillColor: json.containsKey("wordBoxesFillColor")
? ScanbotColor(json["wordBoxesFillColor"] as String)
: ScanbotColor("#33CCE54C"),
wordBoxesLineColor: json.containsKey("wordBoxesLineColor")
? ScanbotColor(json["wordBoxesLineColor"] as String)
: ScanbotColor("#33CCE599"),
confirmationAlertDialogEnabled:
json.containsKey("confirmationAlertDialogEnabled")
? (json["confirmationAlertDialogEnabled"] as bool)
: false,
confirmationAlertDialog: json.containsKey("confirmationAlertDialog")
? ScanbotAlertDialog.fromJson(
json["confirmationAlertDialog"] as Map<String, dynamic>)
: ScanbotAlertDialog(
title: StyledText(
text: "?vinConfirmationAlertTitle",
color: ScanbotColor("?sbColorOnSurface")),
subtitle:
StyledText(color: ScanbotColor("?sbColorOnSurfaceVariant")),
sheetColor: ScanbotColor("?sbColorSurface"),
modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
dividerColor: ScanbotColor("?sbColorOutline"),
okButton: ButtonConfiguration(
visible: true,
text: "?vinConfirmationAlertSubmitButton",
accessibilityDescription:
"?accessibilityDescriptionConfirmationSubmitButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("?sbColorPrimary"),
fillColor: ScanbotColor("?sbColorPrimary"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: true,
color: ScanbotColor("?sbColorOnPrimary"),
useShadow: false)),
cancelButton: ButtonConfiguration(
visible: true,
text: "?vinConfirmationAlertCancelButton",
accessibilityDescription:
"?accessibilityDescriptionConfirmationCancelButton",
background: BackgroundStyle(
strokeColor: ScanbotColor("#00000000"),
fillColor: ScanbotColor("#00000000"),
strokeWidth: 1.0),
foreground: ForegroundStyle(
iconVisible: false,
color: ScanbotColor("?sbColorPrimary"),
useShadow: false))),
successOverlay: json.containsKey("successOverlay")
? ScanCompletionOverlay.fromJson(
json["successOverlay"] as Map<String, dynamic>)
: ScanCompletionOverlay(),
sound: json.containsKey("sound")
? Sound.fromJson(json["sound"] as Map<String, dynamic>)
: Sound(),
vibration: json.containsKey("vibration")
? Vibration.fromJson(json["vibration"] as Map<String, dynamic>)
: Vibration(),
keepScreenOn: json.containsKey("keepScreenOn")
? (json["keepScreenOn"] as bool)
: true,
);