UNPKG

react-native-scanbot-sdk

Version:

Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS

453 lines (437 loc) 14.5 kB
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten. /// Generated from rtu-ui-v2/schemas/barcode/FindAndPickScanningModeUseCase.yaml import { ArOverlayFindAndPickConfiguration, FindAndPickArOverlayPolygonConfiguration, FindAndPickBadgeConfiguration, } from '../../ui_v2/barcode/ArTrackingOverlayConfiguration'; import { ManualCountEditDialog, Sheet, SheetContent, SwipeToDelete, } from '../../ui_v2/barcode/MultipleScanningModeUseCase'; import { BackgroundStyle, BadgeStyle, BadgedButton, ButtonConfiguration, ForegroundStyle, IconStyle, PolygonStyle, StyledText, } from '../../ui_v2/common/Common'; import { ScanbotAlertDialog } from '../../ui_v2/common/ScanbotAlertDialog'; import { DeepPartial, PartiallyConstructible } from '../../utils/utils'; /** Configuration of the barcode to find and scan. */ export class ExpectedBarcode extends PartiallyConstructible { /** Value of the barcode to find. If not set, any barcode value will be accepted. */ public barcodeValue: string; /** Title of the barcode to find. */ public title: string | null = null; /** Image of the barcode to find. */ public image: string | null = null; /** Number of barcodes with given symbology/value required to scan. Default is 1 */ public count: number = 1; /** @param source {@displayType `DeepPartial<ExpectedBarcode>`} */ public constructor(source: DeepPartial<ExpectedBarcode> = {}) { super(); if (source.barcodeValue !== undefined) { this.barcodeValue = source.barcodeValue; } else { throw new Error('barcodeValue must be present in constructor argument'); } if (source.title !== undefined) { this.title = source.title != null ? source.title : null; } if (source.image !== undefined) { this.image = source.image != null ? source.image : null; } if (source.count !== undefined) { this.count = source.count; } } } export namespace ExpectedBarcode { /** Use this key to display the original barcode image. Default is "BARCODE_IMAGE" */ export const BARCODE_IMAGE_KEY: string = 'BARCODE_IMAGE'; } /** Configuration of the Find and Pick barcode scanning mode. */ export class FindAndPickScanningMode extends PartiallyConstructible { public readonly _type: 'FindAndPickScanningMode' = 'FindAndPickScanningMode'; /** Color of the selected barcode. Default is "?sbColorPositive" */ public scanningCompletedColor: string = '?sbColorPositive'; /** Color of the partially scanned barcode. Default is "?sbColorWarning" */ public scanningPartiallyColor: string = '?sbColorWarning'; /** Color of the not scanned barcode . Default is "?sbColorOutline" */ public scanningNotScannedColor: string = '?sbColorOutline'; /** If the user is allowed to finish the scanning process without scanning all the expected barcodes. Default is false */ public allowPartialScan: boolean = false; /** List of barcodes that the user has to find and scan. */ public expectedBarcodes: ExpectedBarcode[] = []; /** Time interval in milliseconds before a barcode is counted again. 0 = no delay. The default value is 1000. Default is 1000 */ public countingRepeatDelay: number = 1000; /** Configuration of the preview mode for the barcodes required to be found and scanned. */ public sheet: Sheet = new Sheet({ mode: 'COLLAPSED_SHEET', collapsedVisibleHeight: 'SMALL', listButton: new BadgedButton({ badgeBackgroundColor: '?sbColorSurface', badgeForegroundColor: '?sbColorPrimary', visible: true, backgroundColor: '?sbColorSurfaceHigh', foregroundColor: '?sbColorOnPrimary', activeBackgroundColor: '?sbColorSurfaceHigh', activeForegroundColor: '?sbColorOnPrimary', }), }); /** Configuration of the list of barcodes required to be found and scanned. */ public sheetContent: SheetContent = new SheetContent({ sheetColor: '?sbColorSurface', dividerColor: '?sbColorOutline', manualCountChangeEnabled: true, manualCountOutlineColor: '?sbColorOutline', manualCountChangeColor: '?sbColorPrimary', title: new StyledText({ visible: true, text: '?findAndPickSheetTitle', color: '?sbColorOnSurface', useShadow: false, }), clearAllButton: new ButtonConfiguration({ visible: true, text: '?sheetResetButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorOnSurface', useShadow: false, }), }), barcodeItemTitle: new StyledText({ text: 'BARCODE_TITLE', color: '?sbColorOnSurface' }), barcodeItemSubtitle: new StyledText({ text: '?findAndPickSheetBarcodeItemSubtitle', color: '?sbColorOnSurfaceVariant', }), barcodeItemImageVisible: true, submitButton: new ButtonConfiguration({ visible: true, text: '?sheetSubmitButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorOnSurface', useShadow: false, }), }), startScanningButton: new ButtonConfiguration({ visible: true, text: '?sheetStartScanningButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorOnPrimary', useShadow: false, }), }), placeholderTitle: new StyledText({ text: '?sheetPlaceholderTitle', color: '?sbColorOnSurface', }), placeholderSubtitle: new StyledText({ text: '?sheetPlaceholderSubtitle', color: '?sbColorOnSurfaceVariant', }), placeholderIconBackground: '?sbColorOutline', placeholderIcon: new IconStyle({ visible: true, color: '?sbColorOnSurface' }), swipeToDelete: new SwipeToDelete({ enabled: false, backgroundColor: '?sbColorNegative', iconColor: '?sbColorOnPrimary', }), }); /** Configuration of the dialog to manually edit the barcode count. */ public manualCountEditDialog: ManualCountEditDialog = new ManualCountEditDialog({ sheetColor: '?sbColorSurface', dividerColor: '?sbColorOutline', modalOverlayColor: '?sbColorModalOverlay', title: new StyledText({ text: '?manualCountEditDialogTitle', color: '?sbColorOnSurface' }), info: new StyledText({ text: '?manualCountEditDialogInfo', color: '?sbColorOnSurfaceVariant' }), updateButton: new ButtonConfiguration({ visible: true, text: '?manualCountEditDialogUpdateButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?manualCountEditDialogCancelButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), clearTextButton: new IconStyle({ visible: true, color: '?sbColorOnSurfaceVariant' }), }); /** Configuration of the AR overlay. */ public arOverlay: ArOverlayFindAndPickConfiguration = new ArOverlayFindAndPickConfiguration({ visible: true, automaticSelectionEnabled: true, polygon: new FindAndPickArOverlayPolygonConfiguration({ partiallyScanned: new PolygonStyle({ strokeColor: '?sbColorWarning', fillColor: '#00000000', strokeWidth: 3.0, cornerRadius: 5.0, }), rejected: new PolygonStyle({ strokeColor: '?sbColorSurface', fillColor: '#00000000', strokeWidth: 3.0, cornerRadius: 5.0, }), completed: new PolygonStyle({ strokeColor: '?sbColorPositive', fillColor: '#00000000', strokeWidth: 3.0, cornerRadius: 5.0, }), }), badge: new FindAndPickBadgeConfiguration({ partiallyScanned: new BadgeStyle({ visible: true, background: new BackgroundStyle({ strokeColor: '#000000FF', fillColor: '?sbColorWarning', strokeWidth: 0.0, }), foregroundColor: '?sbColorOnSurface', }), rejected: new BadgeStyle({ visible: true, background: new BackgroundStyle({ strokeColor: '#000000FF', fillColor: '?sbColorSurface', strokeWidth: 0.0, }), foregroundColor: '?sbColorOnSurface', }), completed: new BadgeStyle({ visible: true, background: new BackgroundStyle({ strokeColor: '#000000FF', fillColor: '?sbColorPositive', strokeWidth: 0.0, }), foregroundColor: '?sbColorOnSurface', }), }), }); /** If the partial scanned alert dialog is enabled. Default is true */ public partialScannedAlertDialogEnabled: boolean = true; /** Configuration of the partial scanned alert dialog. */ public partialScannedAlertDialog: ScanbotAlertDialog = new ScanbotAlertDialog({ title: new StyledText({ text: '?findAndPickPartialAlertTitle', color: '?sbColorOnSurface' }), subtitle: new StyledText({ text: '?findAndPickPartialAlertSubtitle', color: '?sbColorOnSurfaceVariant', }), sheetColor: '?sbColorSurface', modalOverlayColor: '?sbColorModalOverlay', dividerColor: '?sbColorOutline', okButton: new ButtonConfiguration({ visible: true, text: '?findAndPickPartialAlertSubmitButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: true, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?findAndPickPartialAlertCancelButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), }); /** If the confirmation alert dialog is enabled. Default is false */ public confirmationAlertDialogEnabled: boolean = false; /** Configuration of the confirmation alert dialog. */ public confirmationAlertDialog: ScanbotAlertDialog = new ScanbotAlertDialog({ title: new StyledText({ text: '?findAndPickCompleteAlertTitle', color: '?sbColorOnSurface' }), subtitle: new StyledText({ text: '?findAndPickCompleteAlertSubtitle', color: '?sbColorOnSurfaceVariant', }), sheetColor: '?sbColorSurface', modalOverlayColor: '?sbColorModalOverlay', dividerColor: '?sbColorOutline', okButton: new ButtonConfiguration({ visible: true, text: '?findAndPickCompleteAlertSubmitButton', background: new BackgroundStyle({ strokeColor: '?sbColorPrimary', fillColor: '?sbColorPrimary', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: true, color: '?sbColorOnPrimary', useShadow: false, }), }), cancelButton: new ButtonConfiguration({ visible: true, text: '?findAndPickCompleteAlertCancelButton', background: new BackgroundStyle({ strokeColor: '#00000000', fillColor: '#00000000', strokeWidth: 1.0, }), foreground: new ForegroundStyle({ iconVisible: false, color: '?sbColorPrimary', useShadow: false, }), }), }); /** @param source {@displayType `DeepPartial<FindAndPickScanningMode>`} */ public constructor(source: DeepPartial<FindAndPickScanningMode> = {}) { super(); if (source.scanningCompletedColor !== undefined) { this.scanningCompletedColor = source.scanningCompletedColor; } if (source.scanningPartiallyColor !== undefined) { this.scanningPartiallyColor = source.scanningPartiallyColor; } if (source.scanningNotScannedColor !== undefined) { this.scanningNotScannedColor = source.scanningNotScannedColor; } if (source.allowPartialScan !== undefined) { this.allowPartialScan = source.allowPartialScan; } if (source.expectedBarcodes !== undefined) { this.expectedBarcodes = source.expectedBarcodes.map((it: any) => { return new ExpectedBarcode(it); }); } if (source.countingRepeatDelay !== undefined) { this.countingRepeatDelay = source.countingRepeatDelay; } if (source.sheet !== undefined) { this.sheet = new Sheet(source.sheet); } if (source.sheetContent !== undefined) { this.sheetContent = new SheetContent(source.sheetContent); } if (source.manualCountEditDialog !== undefined) { this.manualCountEditDialog = new ManualCountEditDialog(source.manualCountEditDialog); } if (source.arOverlay !== undefined) { this.arOverlay = new ArOverlayFindAndPickConfiguration(source.arOverlay); } if (source.partialScannedAlertDialogEnabled !== undefined) { this.partialScannedAlertDialogEnabled = source.partialScannedAlertDialogEnabled; } if (source.partialScannedAlertDialog !== undefined) { this.partialScannedAlertDialog = new ScanbotAlertDialog(source.partialScannedAlertDialog); } if (source.confirmationAlertDialogEnabled !== undefined) { this.confirmationAlertDialogEnabled = source.confirmationAlertDialogEnabled; } if (source.confirmationAlertDialog !== undefined) { this.confirmationAlertDialog = new ScanbotAlertDialog(source.confirmationAlertDialog); } } }