mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Add telemetry for WYSIWYG (#19908)
* add telemetry for wysiwyg * add view mode * add back WYSIWYGKeyboardAction * nit extra line * update action property to transformAction
This commit is contained in:
@@ -123,7 +123,9 @@ export const enum NbTelemetryAction {
|
|||||||
RedoCell = 'RedoCell',
|
RedoCell = 'RedoCell',
|
||||||
MoveCell = 'MoveCell',
|
MoveCell = 'MoveCell',
|
||||||
MIMETypeRendererNotFound = 'MIMETypeRendererNotFound',
|
MIMETypeRendererNotFound = 'MIMETypeRendererNotFound',
|
||||||
CellExecutionFailed = 'CellExecutionFailed'
|
CellExecutionFailed = 'CellExecutionFailed',
|
||||||
|
TextCellToolbarAction = 'TextCellToolbarAction',
|
||||||
|
WYSIWYGKeyboardAction = 'WYSIWYGKeyboardAction'
|
||||||
}
|
}
|
||||||
|
|
||||||
export const enum TelemetryPropertyName {
|
export const enum TelemetryPropertyName {
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ import { HTMLMarkdownConverter } from 'sql/workbench/contrib/notebook/browser/ht
|
|||||||
import { highlightSelectedText } from 'sql/workbench/contrib/notebook/browser/utils';
|
import { highlightSelectedText } from 'sql/workbench/contrib/notebook/browser/utils';
|
||||||
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
||||||
import { KeyCode } from 'vs/base/common/keyCodes';
|
import { KeyCode } from 'vs/base/common/keyCodes';
|
||||||
|
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
|
||||||
|
|
||||||
export const TEXT_SELECTOR: string = 'text-cell-component';
|
export const TEXT_SELECTOR: string = 'text-cell-component';
|
||||||
const USER_SELECT_CLASS = 'actionselect';
|
const USER_SELECT_CLASS = 'actionselect';
|
||||||
@@ -80,19 +81,24 @@ export class TextCellComponent extends CellView implements OnInit, OnChanges {
|
|||||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_B) {
|
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_B) {
|
||||||
// Bold text
|
// Bold text
|
||||||
preventDefaultAndExecCommand(e, 'bold');
|
preventDefaultAndExecCommand(e, 'bold');
|
||||||
|
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'BOLD' });
|
||||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_I) {
|
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_I) {
|
||||||
// Italicize text
|
// Italicize text
|
||||||
preventDefaultAndExecCommand(e, 'italic');
|
preventDefaultAndExecCommand(e, 'italic');
|
||||||
|
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'ITALIC' });
|
||||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_U) {
|
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_U) {
|
||||||
// Underline text
|
// Underline text
|
||||||
preventDefaultAndExecCommand(e, 'underline');
|
preventDefaultAndExecCommand(e, 'underline');
|
||||||
|
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'UNDERLINE' });
|
||||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.shiftKey && keyEvent.keyCode === KeyCode.KEY_K) {
|
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.shiftKey && keyEvent.keyCode === KeyCode.KEY_K) {
|
||||||
// Code Block
|
// Code Block
|
||||||
preventDefaultAndExecCommand(e, 'formatBlock', false, 'pre');
|
preventDefaultAndExecCommand(e, 'formatBlock', false, 'pre');
|
||||||
|
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'CODE' });
|
||||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.shiftKey && keyEvent.keyCode === KeyCode.KEY_H) {
|
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.shiftKey && keyEvent.keyCode === KeyCode.KEY_H) {
|
||||||
// Highlight Text
|
// Highlight Text
|
||||||
DOM.EventHelper.stop(e, true);
|
DOM.EventHelper.stop(e, true);
|
||||||
highlightSelectedText();
|
highlightSelectedText();
|
||||||
|
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'HIGHLIGHT' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import { Position } from 'vs/editor/common/core/position';
|
|||||||
import { MarkdownToolbarComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/markdownToolbar.component';
|
import { MarkdownToolbarComponent } from 'sql/workbench/contrib/notebook/browser/cellViews/markdownToolbar.component';
|
||||||
import { IEditor } from 'vs/editor/common/editorCommon';
|
import { IEditor } from 'vs/editor/common/editorCommon';
|
||||||
import { highlightSelectedText } from 'sql/workbench/contrib/notebook/browser/utils';
|
import { highlightSelectedText } from 'sql/workbench/contrib/notebook/browser/utils';
|
||||||
|
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
|
||||||
|
|
||||||
export class TransformMarkdownAction extends Action {
|
export class TransformMarkdownAction extends Action {
|
||||||
|
|
||||||
@@ -35,9 +36,11 @@ export class TransformMarkdownAction extends Action {
|
|||||||
public override async run(context: any): Promise<void> {
|
public override async run(context: any): Promise<void> {
|
||||||
if (!context?.cellModel?.showMarkdown && context?.cellModel?.showPreview) {
|
if (!context?.cellModel?.showMarkdown && context?.cellModel?.showPreview) {
|
||||||
this.transformDocumentCommand();
|
this.transformDocumentCommand();
|
||||||
|
this._cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.TextCellToolbarAction, { transformAction: this._type, mode: 'RichTextView' });
|
||||||
} else {
|
} else {
|
||||||
let markdownTextTransformer = new MarkdownTextTransformer(this._notebookService, this._cellModel);
|
let markdownTextTransformer = new MarkdownTextTransformer(this._notebookService, this._cellModel);
|
||||||
await markdownTextTransformer.transformText(this._type);
|
await markdownTextTransformer.transformText(this._type);
|
||||||
|
this._cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.TextCellToolbarAction, { transformAction: this._type, mode: context.cellModel.showPreview ? 'Splitview' : 'MarkdownView' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user