MCPcopy
hub / github.com/home-assistant/frontend / HaQrScanner

Class HaQrScanner

src/components/ha-qr-scanner.ts:37–412  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

35});
36
37@customElement("ha-qr-scanner")
38class HaQrScanner extends LitElement {
39 @state()
40 @consumeLocalize()
41 private _localize!: LocalizeFunc;
42
43 @state()
44 @consume({ context: configContext, subscribe: true })
45 private _config!: ContextType<typeof configContext>;
46
47 @property() public description?: string;
48
49 @property({ attribute: "alternative_option_label" })
50 public alternativeOptionLabel?: string;
51
52 @property({ attribute: false }) public validate?: (
53 value: string
54 ) => string | undefined;
55
56 @state() private _cameras?: QrScanner.Camera[];
57
58 @state() private _loading = true;
59
60 @state() private _error?: string;
61
62 @state() private _warning?: string;
63
64 @state() private _selectedCamera?: string;
65
66 private _qrScanner?: QrScanner;
67
68 private _qrNotFoundCount = 0;
69
70 private _removeListener?: UnsubscribeFunc;
71
72 @query("video", true) private _video?: HTMLVideoElement;
73
74 @query("#canvas-container", true) private _canvasContainer?: HTMLDivElement;
75
76 @query("ha-input") private _manualInput?: HaInput;
77
78 public disconnectedCallback(): void {
79 super.disconnectedCallback();
80 this._qrNotFoundCount = 0;
81 if (this._nativeBarcodeScanner) {
82 this._closeExternalScanner();
83 }
84 if (this._qrScanner) {
85 this._qrScanner.stop();
86 this._qrScanner.destroy();
87 this._qrScanner = undefined;
88 }
89 while (this._canvasContainer?.lastChild) {
90 this._canvasContainer.removeChild(this._canvasContainer.lastChild);
91 }
92 }
93
94 public connectedCallback(): void {

Callers

nothing calls this directly

Calls 5

_reportWarningMethod · 0.95
_reportErrorMethod · 0.95
consumeLocalizeFunction · 0.90
fireEventFunction · 0.90
stateFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…