capacitor-plugin-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK for Capacitor
231 lines • 9.35 kB
JavaScript
import { PartiallyConstructible } from '../../utils';
import { BarcodeItemConfiguration, ArOverlayPolygonConfiguration, ArOverlayGeneralConfiguration, } from '../barcode/ArTrackingOverlayConfiguration';
import { BarcodeItemErrorState, BarcodeInfoMapping, } from '../barcode/BarcodeInfoMapping';
import { StyledText, BadgeStyle, BackgroundStyle, PolygonStyle, ForegroundStyle, ButtonConfiguration, } from '../common/Common';
/**
Configuration of the single barcode scanning mode.
*/
export class SingleScanningMode extends PartiallyConstructible {
/** @param source {@displayType `DeepPartial<SingleScanningMode>`} */
constructor(source = {}) {
super();
this._type = 'SingleScanningMode';
/**
If enabled, the confirmation sheet will be shown after the barcode has been scanned.
Default is false
*/
this.confirmationSheetEnabled = false;
/**
If enabled, the barcode image will be shown on the confirmation sheet.
Default is true
*/
this.barcodeImageVisible = true;
/**
Color of the confirmation sheet's background.
Default is "?sbColorSurface"
*/
this.sheetColor = '?sbColorSurface';
/**
Color of the divider and separator lines in the confirmation sheet.
Default is "?sbColorOutline"
*/
this.dividerColor = '?sbColorOutline';
/**
Background color of the overlay surrounding the confirmation sheet.
Default is "?sbColorModalOverlay"
*/
this.modalOverlayColor = '?sbColorModalOverlay';
/**
Appearance of the barcode title (the barcode's value) on the confirmation sheet.
*/
this.barcodeTitle = new StyledText({
text: 'BARCODE_TITLE',
color: '?sbColorOnSurface',
});
/**
Appearance of the barcode subtitle (the barcode's symbology) on the confirmation sheet.
*/
this.barcodeSubtitle = new StyledText({
text: 'BARCODE_SUBTITLE',
color: '?sbColorOnSurfaceVariant',
});
/**
Appearance of the confirm button on the confirmation sheet.
*/
this.submitButton = new ButtonConfiguration({
visible: true,
text: '?sheetSubmitButton',
background: new BackgroundStyle({
strokeColor: '?sbColorPrimary',
fillColor: '?sbColorPrimary',
strokeWidth: 1.0,
}),
foreground: new ForegroundStyle({
iconVisible: true,
color: '?sbColorOnPrimary',
}),
});
/**
Appearance of the cancel button on the confirmation sheet.
*/
this.cancelButton = new ButtonConfiguration({
visible: true,
text: '?singleModeConfirmationCancelButton',
background: new BackgroundStyle({
strokeColor: '#00000000',
fillColor: '#00000000',
strokeWidth: 1.0,
}),
foreground: new ForegroundStyle({
iconVisible: false,
color: '?sbColorPrimary',
}),
});
/**
Appearance of the barcode info mapping.
*/
this.barcodeInfoMapping = new BarcodeInfoMapping({
sheetColor: '?sbColorSurface',
dividerColor: '?sbColorOutline',
modalOverlayColor: '?sbColorModalOverlay',
loadingMessage: new StyledText({
text: '?barcodeInfoMappingLoadingMessage',
color: '?sbColorPrimary',
}),
errorState: new BarcodeItemErrorState({
title: new StyledText({
text: '?barcodeInfoMappingErrorStateTitle',
color: '?sbColorOnSurface',
}),
subtitle: new StyledText({
text: '?barcodeInfoMappingErrorStateSubtitle',
color: '?sbColorOnSurfaceVariant',
}),
retryButton: new ButtonConfiguration({
visible: true,
text: '?barcodeInfoMappingErrorStateRetryButton',
background: new BackgroundStyle({
strokeColor: '?sbColorPrimary',
fillColor: '?sbColorPrimary',
strokeWidth: 1.0,
}),
foreground: new ForegroundStyle({
iconVisible: true,
color: '?sbColorOnPrimary',
}),
}),
cancelButton: new ButtonConfiguration({
text: '?barcodeInfoMappingErrorStateCancelButton',
background: new BackgroundStyle({
strokeColor: '#00000000',
fillColor: '#00000000',
strokeWidth: 1.0,
}),
foreground: new ForegroundStyle({
iconVisible: false,
color: '?sbColorPrimary',
}),
}),
}),
});
/**
Configuration of the AR overlay.
*/
this.arOverlay = new ArOverlayGeneralConfiguration({
visible: false,
counterBadge: new BadgeStyle({
visible: true,
background: new BackgroundStyle({
strokeColor: '#000000FF',
fillColor: '?sbColorPositive',
strokeWidth: 0.0,
}),
foregroundColor: '?sbColorOnSurface',
}),
automaticSelectionEnabled: false,
barcodeItemInfoPosition: 'BELOW',
polygon: new ArOverlayPolygonConfiguration({
visible: true,
deselected: new PolygonStyle({
strokeColor: '?sbColorSurface',
fillColor: '#00000000',
strokeWidth: 3.0,
cornerRadius: 5.0,
}),
selected: new PolygonStyle({
strokeColor: '?sbColorPositive',
fillColor: '#00000000',
strokeWidth: 3.0,
cornerRadius: 5.0,
}),
}),
barcodeItemConfiguration: new BarcodeItemConfiguration({
imageVisible: true,
titleSelected: new StyledText({
text: 'BARCODE_TITLE',
color: '?sbColorOnSurface',
}),
subtitleSelected: new StyledText({
text: 'BARCODE_SUBTITLE',
color: '?sbColorOnSurfaceVariant',
}),
titleDeselected: new StyledText({
text: 'BARCODE_TITLE',
color: '?sbColorOnSurface',
}),
subtitleDeselected: new StyledText({
visible: true,
text: 'BARCODE_SUBTITLE',
color: '?sbColorOnSurfaceVariant',
useShadow: false,
}),
backgroundSelected: new PolygonStyle({
strokeColor: '?sbColorPositive',
fillColor: '?sbColorPositive',
strokeWidth: 1.0,
cornerRadius: 5.0,
}),
backgroundDeselected: new PolygonStyle({
strokeColor: '?sbColorSurface',
fillColor: '?sbColorSurface',
strokeWidth: 1.0,
cornerRadius: 5.0,
}),
}),
});
if (source.confirmationSheetEnabled !== undefined) {
this.confirmationSheetEnabled = source.confirmationSheetEnabled;
}
if (source.barcodeImageVisible !== undefined) {
this.barcodeImageVisible = source.barcodeImageVisible;
}
if (source.sheetColor !== undefined) {
this.sheetColor = source.sheetColor;
}
if (source.dividerColor !== undefined) {
this.dividerColor = source.dividerColor;
}
if (source.modalOverlayColor !== undefined) {
this.modalOverlayColor = source.modalOverlayColor;
}
if (source.barcodeTitle !== undefined) {
this.barcodeTitle = new StyledText(source.barcodeTitle);
}
if (source.barcodeSubtitle !== undefined) {
this.barcodeSubtitle = new StyledText(source.barcodeSubtitle);
}
if (source.submitButton !== undefined) {
this.submitButton = new ButtonConfiguration(source.submitButton);
}
if (source.cancelButton !== undefined) {
this.cancelButton = new ButtonConfiguration(source.cancelButton);
}
if (source.barcodeInfoMapping !== undefined) {
this.barcodeInfoMapping = new BarcodeInfoMapping(source.barcodeInfoMapping);
}
if (source.arOverlay !== undefined) {
this.arOverlay = new ArOverlayGeneralConfiguration(source.arOverlay);
}
}
}
//# sourceMappingURL=SingleScanningModeUseCase.js.map