mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 01:25:37 -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',
|
||||
MoveCell = 'MoveCell',
|
||||
MIMETypeRendererNotFound = 'MIMETypeRendererNotFound',
|
||||
CellExecutionFailed = 'CellExecutionFailed'
|
||||
CellExecutionFailed = 'CellExecutionFailed',
|
||||
TextCellToolbarAction = 'TextCellToolbarAction',
|
||||
WYSIWYGKeyboardAction = 'WYSIWYGKeyboardAction'
|
||||
}
|
||||
|
||||
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 { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
||||
import { KeyCode } from 'vs/base/common/keyCodes';
|
||||
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
|
||||
|
||||
export const TEXT_SELECTOR: string = 'text-cell-component';
|
||||
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) {
|
||||
// Bold text
|
||||
preventDefaultAndExecCommand(e, 'bold');
|
||||
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'BOLD' });
|
||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_I) {
|
||||
// Italicize text
|
||||
preventDefaultAndExecCommand(e, 'italic');
|
||||
this.cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.WYSIWYGKeyboardAction, { transformAction: 'ITALIC' });
|
||||
} else if ((keyEvent.ctrlKey || keyEvent.metaKey) && keyEvent.keyCode === KeyCode.KEY_U) {
|
||||
// Underline text
|
||||
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) {
|
||||
// Code Block
|
||||
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) {
|
||||
// Highlight Text
|
||||
DOM.EventHelper.stop(e, true);
|
||||
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 { IEditor } from 'vs/editor/common/editorCommon';
|
||||
import { highlightSelectedText } from 'sql/workbench/contrib/notebook/browser/utils';
|
||||
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
|
||||
|
||||
export class TransformMarkdownAction extends Action {
|
||||
|
||||
@@ -35,9 +36,11 @@ export class TransformMarkdownAction extends Action {
|
||||
public override async run(context: any): Promise<void> {
|
||||
if (!context?.cellModel?.showMarkdown && context?.cellModel?.showPreview) {
|
||||
this.transformDocumentCommand();
|
||||
this._cellModel.notebookModel.sendNotebookTelemetryActionEvent(TelemetryKeys.NbTelemetryAction.TextCellToolbarAction, { transformAction: this._type, mode: 'RichTextView' });
|
||||
} else {
|
||||
let markdownTextTransformer = new MarkdownTextTransformer(this._notebookService, this._cellModel);
|
||||
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