[Editor] Fix few telemetry issues with the new alt text flow (bug 1915434)

This commit is contained in:
Calixte Denizet 2024-08-28 18:54:15 +02:00
parent ab052db5b3
commit 1658b0af55
4 changed files with 19 additions and 6 deletions

View file

@ -213,6 +213,13 @@ class AltText {
this.#altTextButton.disabled = !enabled; this.#altTextButton.disabled = !enabled;
} }
shown() {
this.#editor._reportTelemetry({
action: "pdfjs.image.alt_text.image_status_label_displayed",
data: { label: this.#label },
});
}
destroy() { destroy() {
this.#altTextButton?.remove(); this.#altTextButton?.remove();
this.#altTextButton = null; this.#altTextButton = null;
@ -235,10 +242,6 @@ class AltText {
const label = this.#label; const label = this.#label;
// TODO: Update the l10n keys to avoid this. // TODO: Update the l10n keys to avoid this.
const type = label === "review" ? "to-review" : label; const type = label === "review" ? "to-review" : label;
this.#editor._reportTelemetry({
action: "pdfjs.image.alt_text.image_status_label_displayed",
data: { label },
});
button.classList.toggle("done", !!this.#altText); button.classList.toggle("done", !!this.#altText);
AltText._l10nPromise AltText._l10nPromise
.get(`pdfjs-editor-new-alt-text-${type}-button-label`) .get(`pdfjs-editor-new-alt-text-${type}-button-label`)

View file

@ -975,7 +975,7 @@ class AnnotationEditor {
this._editToolbar = new EditorToolbar(this); this._editToolbar = new EditorToolbar(this);
this.div.append(this._editToolbar.render()); this.div.append(this._editToolbar.render());
if (this.#altText) { if (this.#altText) {
this._editToolbar.addAltTextButton(await this.#altText.render()); await this._editToolbar.addAltText(this.#altText);
} }
return this._editToolbar; return this._editToolbar;

View file

@ -24,6 +24,8 @@ class EditorToolbar {
#buttons = null; #buttons = null;
#altText = null;
constructor(editor) { constructor(editor) {
this.#editor = editor; this.#editor = editor;
} }
@ -99,6 +101,7 @@ class EditorToolbar {
show() { show() {
this.#toolbar.classList.remove("hidden"); this.#toolbar.classList.remove("hidden");
this.#altText?.shown();
} }
#addDeleteButton() { #addDeleteButton() {
@ -126,9 +129,11 @@ class EditorToolbar {
return divider; return divider;
} }
addAltTextButton(button) { async addAltText(altText) {
const button = await altText.render();
this.#addListenersToElement(button); this.#addListenersToElement(button);
this.#buttons.prepend(button, this.#divider); this.#buttons.prepend(button, this.#divider);
this.#altText = altText;
} }
addColorPicker(colorPicker) { addColorPicker(colorPicker) {

View file

@ -114,6 +114,11 @@ class NewAltTextManager {
createAutomaticallyButton.addEventListener("click", async () => { createAutomaticallyButton.addEventListener("click", async () => {
const checked = const checked =
createAutomaticallyButton.getAttribute("aria-pressed") !== "true"; createAutomaticallyButton.getAttribute("aria-pressed") !== "true";
this.#currentEditor._reportTelemetry({
action: "pdfjs.image.alt_text.ai_generation_check",
data: { status: checked },
});
if (this.#uiManager) { if (this.#uiManager) {
this.#uiManager.setPreference("enableGuessAltText", checked); this.#uiManager.setPreference("enableGuessAltText", checked);
await this.#uiManager.mlManager.toggleService("altText", checked); await this.#uiManager.mlManager.toggleService("altText", checked);