FindAndPickScanningMode.fromJson constructor

FindAndPickScanningMode.fromJson(
  1. Map<String, dynamic> json
)

Implementation

factory FindAndPickScanningMode.fromJson(Map<String, dynamic> json) =>
    FindAndPickScanningMode(
      scanningCompletedColor: json.containsKey("scanningCompletedColor")
          ? ScanbotColor(json["scanningCompletedColor"] as String)
          : ScanbotColor("?sbColorPositive"),
      scanningPartiallyColor: json.containsKey("scanningPartiallyColor")
          ? ScanbotColor(json["scanningPartiallyColor"] as String)
          : ScanbotColor("?sbColorWarning"),
      scanningNotScannedColor: json.containsKey("scanningNotScannedColor")
          ? ScanbotColor(json["scanningNotScannedColor"] as String)
          : ScanbotColor("?sbColorOutline"),
      allowPartialScan: json.containsKey("allowPartialScan")
          ? (json["allowPartialScan"] as bool)
          : false,
      expectedBarcodes: json.containsKey("expectedBarcodes")
          ? (json["expectedBarcodes"] as List<dynamic>)
              .map((it) =>
                  ExpectedBarcode.fromJson(it as Map<String, dynamic>))
              .toList()
          : [],
      countingRepeatDelay: json.containsKey("countingRepeatDelay")
          ? (json["countingRepeatDelay"] as int)
          : 1000,
      sheet: json.containsKey("sheet")
          ? Sheet.fromJson(json["sheet"] as Map<String, dynamic>)
          : Sheet(
              mode: SheetMode.COLLAPSED_SHEET,
              collapsedVisibleHeight: CollapsedVisibleHeight.SMALL,
              listButton: BadgedButton(
                  badgeBackgroundColor: ScanbotColor("?sbColorSurface"),
                  badgeForegroundColor: ScanbotColor("?sbColorPrimary"),
                  visible: true,
                  backgroundColor: ScanbotColor("?sbColorSurfaceHigh"),
                  foregroundColor: ScanbotColor("?sbColorOnPrimary"),
                  activeBackgroundColor: ScanbotColor("?sbColorSurfaceHigh"),
                  activeForegroundColor: ScanbotColor("?sbColorOnPrimary"))),
      sheetContent: json.containsKey("sheetContent")
          ? SheetContent.fromJson(
              json["sheetContent"] as Map<String, dynamic>)
          : SheetContent(
              sheetColor: ScanbotColor("?sbColorSurface"),
              dividerColor: ScanbotColor("?sbColorOutline"),
              manualCountChangeEnabled: true,
              manualCountOutlineColor: ScanbotColor("?sbColorOutline"),
              manualCountChangeColor: ScanbotColor("?sbColorPrimary"),
              title: StyledText(
                  visible: true,
                  text: "?findAndPickSheetTitle",
                  color: ScanbotColor("?sbColorOnSurface"),
                  useShadow: false),
              clearAllButton: ButtonConfiguration(
                  visible: true,
                  text: "?sheetResetButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("#00000000"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorOnSurface"),
                      useShadow: false)),
              barcodeItemTitle: StyledText(
                  text: "BARCODE_TITLE",
                  color: ScanbotColor("?sbColorOnSurface")),
              barcodeItemSubtitle: StyledText(
                  text: "?findAndPickSheetBarcodeItemSubtitle",
                  color: ScanbotColor("?sbColorOnSurfaceVariant")),
              barcodeItemImageVisible: true,
              submitButton: ButtonConfiguration(
                  visible: true,
                  text: "?sheetSubmitButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("#00000000"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorOnSurface"),
                      useShadow: false)),
              startScanningButton: ButtonConfiguration(
                  visible: true,
                  text: "?sheetStartScanningButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("?sbColorPrimary"),
                      fillColor: ScanbotColor("?sbColorPrimary"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorOnPrimary"),
                      useShadow: false)),
              placeholderTitle: StyledText(
                  text: "?sheetPlaceholderTitle",
                  color: ScanbotColor("?sbColorOnSurface")),
              placeholderSubtitle: StyledText(
                  text: "?sheetPlaceholderSubtitle",
                  color: ScanbotColor("?sbColorOnSurfaceVariant")),
              placeholderIconBackground: ScanbotColor("?sbColorOutline"),
              placeholderIcon: IconStyle(
                  visible: true, color: ScanbotColor("?sbColorOnSurface")),
              swipeToDelete: SwipeToDelete(
                  enabled: false,
                  backgroundColor: ScanbotColor("?sbColorNegative"),
                  iconColor: ScanbotColor("?sbColorOnPrimary"))),
      manualCountEditDialog: json.containsKey("manualCountEditDialog")
          ? ManualCountEditDialog.fromJson(
              json["manualCountEditDialog"] as Map<String, dynamic>)
          : ManualCountEditDialog(
              sheetColor: ScanbotColor("?sbColorSurface"),
              dividerColor: ScanbotColor("?sbColorOutline"),
              modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
              title: StyledText(
                  text: "?manualCountEditDialogTitle",
                  color: ScanbotColor("?sbColorOnSurface")),
              info: StyledText(
                  text: "?manualCountEditDialogInfo",
                  color: ScanbotColor("?sbColorOnSurfaceVariant")),
              updateButton: ButtonConfiguration(
                  visible: true,
                  text: "?manualCountEditDialogUpdateButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("?sbColorPrimary"),
                      fillColor: ScanbotColor("?sbColorPrimary"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorOnPrimary"),
                      useShadow: false)),
              cancelButton: ButtonConfiguration(
                  visible: true,
                  text: "?manualCountEditDialogCancelButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("#00000000"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorPrimary"),
                      useShadow: false)),
              clearTextButton: IconStyle(
                  visible: true,
                  color: ScanbotColor("?sbColorOnSurfaceVariant"))),
      arOverlay: json.containsKey("arOverlay")
          ? ArOverlayFindAndPickConfiguration.fromJson(
              json["arOverlay"] as Map<String, dynamic>)
          : ArOverlayFindAndPickConfiguration(
              visible: true,
              automaticSelectionEnabled: true,
              polygon: FindAndPickArOverlayPolygonConfiguration(
                  partiallyScanned: PolygonStyle(
                      strokeColor: ScanbotColor("?sbColorWarning"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 3.0,
                      cornerRadius: 5.0),
                  rejected: PolygonStyle(
                      strokeColor: ScanbotColor("?sbColorSurface"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 3.0,
                      cornerRadius: 5.0),
                  completed: PolygonStyle(
                      strokeColor: ScanbotColor("?sbColorPositive"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 3.0,
                      cornerRadius: 5.0)),
              badge: FindAndPickBadgeConfiguration(
                  partiallyScanned: BadgeStyle(
                      visible: true,
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("#000000FF"),
                          fillColor: ScanbotColor("?sbColorWarning"),
                          strokeWidth: 0.0),
                      foregroundColor: ScanbotColor("?sbColorOnSurface")),
                  rejected: BadgeStyle(
                      visible: true,
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("#000000FF"),
                          fillColor: ScanbotColor("?sbColorSurface"),
                          strokeWidth: 0.0),
                      foregroundColor: ScanbotColor("?sbColorOnSurface")),
                  completed: BadgeStyle(
                      visible: true,
                      background: BackgroundStyle(
                          strokeColor: ScanbotColor("#000000FF"),
                          fillColor: ScanbotColor("?sbColorPositive"),
                          strokeWidth: 0.0),
                      foregroundColor: ScanbotColor("?sbColorOnSurface")))),
      partialScannedAlertDialogEnabled:
          json.containsKey("partialScannedAlertDialogEnabled")
              ? (json["partialScannedAlertDialogEnabled"] as bool)
              : true,
      partialScannedAlertDialog: json.containsKey("partialScannedAlertDialog")
          ? ScanbotAlertDialog.fromJson(
              json["partialScannedAlertDialog"] as Map<String, dynamic>)
          : ScanbotAlertDialog(
              title: StyledText(
                  text: "?findAndPickPartialAlertTitle",
                  color: ScanbotColor("?sbColorOnSurface")),
              subtitle: StyledText(
                  text: "?findAndPickPartialAlertSubtitle",
                  color: ScanbotColor("?sbColorOnSurfaceVariant")),
              sheetColor: ScanbotColor("?sbColorSurface"),
              modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
              dividerColor: ScanbotColor("?sbColorOutline"),
              okButton: ButtonConfiguration(
                  visible: true,
                  text: "?findAndPickPartialAlertSubmitButton",
                  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: "?findAndPickPartialAlertCancelButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("#00000000"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorPrimary"),
                      useShadow: false))),
      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: "?findAndPickCompleteAlertTitle",
                  color: ScanbotColor("?sbColorOnSurface")),
              subtitle: StyledText(
                  text: "?findAndPickCompleteAlertSubtitle",
                  color: ScanbotColor("?sbColorOnSurfaceVariant")),
              sheetColor: ScanbotColor("?sbColorSurface"),
              modalOverlayColor: ScanbotColor("?sbColorModalOverlay"),
              dividerColor: ScanbotColor("?sbColorOutline"),
              okButton: ButtonConfiguration(
                  visible: true,
                  text: "?findAndPickCompleteAlertSubmitButton",
                  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: "?findAndPickCompleteAlertCancelButton",
                  background: BackgroundStyle(
                      strokeColor: ScanbotColor("#00000000"),
                      fillColor: ScanbotColor("#00000000"),
                      strokeWidth: 1.0),
                  foreground: ForegroundStyle(
                      iconVisible: false,
                      color: ScanbotColor("?sbColorPrimary"),
                      useShadow: false))),
    );