diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index 6e429d41471..c3abe4f4c9e 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -944,7 +944,7 @@ export function prepend(parent: HTMLElement, child: T): T { const SELECTOR_REGEX = /([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/; // Similar to builder, but much more lightweight -export function emmet(description: string): T { +export function $(description: string, attrs?: { [key: string]: any; }, ...children: (HTMLElement | string)[]): T { let match = SELECTOR_REGEX.exec(description); if (!match) { @@ -960,6 +960,17 @@ export function emmet(description: string): T { result.className = match[4].replace(/\./g, ' ').trim(); } + Object.keys(attrs || {}) + .forEach(name => result.setAttribute(name, attrs[name])); + + children.forEach(child => { + if (child instanceof HTMLElement) { + result.appendChild(child); + } else { + result.appendChild(document.createTextNode(child)); + } + }); + return result as T; } diff --git a/src/vs/base/browser/ui/fileLabel/fileLabel.ts b/src/vs/base/browser/ui/fileLabel/fileLabel.ts index 2e01ff0c8ba..9d190fa78b1 100644 --- a/src/vs/base/browser/ui/fileLabel/fileLabel.ts +++ b/src/vs/base/browser/ui/fileLabel/fileLabel.ts @@ -23,9 +23,9 @@ export class FileLabel { private labelHighlights: IMatch[]= []; constructor(container: HTMLElement, arg2?: uri | string, arg3?: uri | string | IWorkspaceProvider) { - this.domNode = dom.append(container, dom.emmet('.monaco-file-label')); - this.labelNode= new HighlightedLabel(dom.append(this.domNode, dom.emmet('span.file-name'))); - this.directoryNode= dom.append(this.domNode, dom.emmet('span.file-path')); + this.domNode = dom.append(container, dom.$('.monaco-file-label')); + this.labelNode= new HighlightedLabel(dom.append(this.domNode, dom.$('span.file-name'))); + this.directoryNode= dom.append(this.domNode, dom.$('span.file-path')); if (arg3) { this.basepath = getPath(arg3); diff --git a/src/vs/base/browser/ui/inputbox/inputBox.ts b/src/vs/base/browser/ui/inputbox/inputBox.ts index 73b01f17329..1a3dc750fb2 100644 --- a/src/vs/base/browser/ui/inputbox/inputBox.ts +++ b/src/vs/base/browser/ui/inputbox/inputBox.ts @@ -18,7 +18,7 @@ import {IContextViewProvider, AnchorAlignment} from 'vs/base/browser/ui/contextv import Event, {Emitter} from 'vs/base/common/event'; import {Widget} from 'vs/base/browser/ui/widget'; -let $ = dom.emmet; +const $ = dom.$; export interface IInputOptions { placeholder?: string; diff --git a/src/vs/base/browser/ui/list/rowCache.ts b/src/vs/base/browser/ui/list/rowCache.ts index 7bac9ef9db5..dbf6b1ad934 100644 --- a/src/vs/base/browser/ui/list/rowCache.ts +++ b/src/vs/base/browser/ui/list/rowCache.ts @@ -5,7 +5,7 @@ import { IRenderer } from './list'; import { IDisposable } from 'vs/base/common/lifecycle'; -import { emmet as $, addClass, removeClass } from 'vs/base/browser/dom'; +import { $, addClass, removeClass } from 'vs/base/browser/dom'; export interface IRow { domNode: HTMLElement; diff --git a/src/vs/base/test/browser/dom.test.ts b/src/vs/base/test/browser/dom.test.ts index 53cfb57e739..5bb93a8a14f 100644 --- a/src/vs/base/test/browser/dom.test.ts +++ b/src/vs/base/test/browser/dom.test.ts @@ -5,7 +5,8 @@ 'use strict'; import * as assert from 'assert'; -import dom = require('vs/base/browser/dom'); +import * as dom from 'vs/base/browser/dom'; +const $ = dom.$; suite('dom', () => { test('hasClass', () => { @@ -149,4 +150,31 @@ suite('dom', () => { }); }); + suite('$', () => { + test('should build simple nodes', () => { + const div = $('div'); + assert(div); + assert(div instanceof HTMLElement); + assert.equal(div.tagName, 'DIV'); + assert(!div.firstChild); + }); + + test('should build nodes with attributes', () => { + let div = $('div', { class: 'test' }); + assert.equal(div.className, 'test'); + + div = $('div', null); + assert.equal(div.className, ''); + }); + + test('should build nodes with children', () => { + let div = $('div', null, $('span', { id: 'demospan' })); + let firstChild = div.firstChild as HTMLElement; + assert.equal(firstChild.tagName, 'SPAN'); + assert.equal(firstChild.id, 'demospan'); + + div = $('div', null, 'hello'); + assert.equal(div.firstChild.textContent, 'hello'); + }); + }); }); \ No newline at end of file diff --git a/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts b/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts index 39e66cbc338..41f76a3e3b3 100644 --- a/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts +++ b/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.ts @@ -20,7 +20,7 @@ import { ICommonCodeEditor, ICursorSelectionChangedEvent } from 'vs/editor/commo import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { Context, provideSignatureHelp } from '../common/parameterHints'; -const $ = dom.emmet; +const $ = dom.$; export interface IHintEvent { hints: SignatureHelp; diff --git a/src/vs/editor/contrib/quickFix/browser/quickFixSelectionWidget.ts b/src/vs/editor/contrib/quickFix/browser/quickFixSelectionWidget.ts index ad7a995cb96..76a6d89b38a 100644 --- a/src/vs/editor/contrib/quickFix/browser/quickFixSelectionWidget.ts +++ b/src/vs/editor/contrib/quickFix/browser/quickFixSelectionWidget.ts @@ -24,7 +24,7 @@ import {alert} from 'vs/base/browser/ui/aria/aria'; import {ScrollbarVisibility} from 'vs/base/common/scrollable'; import {IDisposable, dispose} from 'vs/base/common/lifecycle'; -var $ = dom.emmet; +const $ = dom.$; function isQuickFix(quickfix: any): quickfix is IQuickFix2 { return quickfix diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts index d93ed462192..692c0967fc3 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidget.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidget.ts @@ -12,7 +12,7 @@ import Event, { Emitter } from 'vs/base/common/event'; import { TPromise } from 'vs/base/common/winjs.base'; import { isPromiseCanceledError, onUnexpectedError } from 'vs/base/common/errors'; import { IDisposable, dispose, toDisposable } from 'vs/base/common/lifecycle'; -import { addClass, append, emmet as $, hide, removeClass, show, toggleClass } from 'vs/base/browser/dom'; +import { addClass, append, $, hide, removeClass, show, toggleClass } from 'vs/base/browser/dom'; import { HighlightedLabel } from 'vs/base/browser/ui/highlightedlabel/highlightedLabel'; import { IDelegate, IFocusChangeEvent, IRenderer, ISelectionChangeEvent } from 'vs/base/browser/ui/list/list'; import { List } from 'vs/base/browser/ui/list/listWidget'; diff --git a/src/vs/workbench/browser/parts/editor/editorStatus.ts b/src/vs/workbench/browser/parts/editor/editorStatus.ts index 4477006ddfc..e7aaf6faeaf 100644 --- a/src/vs/workbench/browser/parts/editor/editorStatus.ts +++ b/src/vs/workbench/browser/parts/editor/editorStatus.ts @@ -8,7 +8,7 @@ import 'vs/css!./media/editorstatus'; import nls = require('vs/nls'); import {TPromise} from 'vs/base/common/winjs.base'; -import { emmet as $, append, runAtThisOrScheduleAtNextAnimationFrame } from 'vs/base/browser/dom'; +import { $, append, runAtThisOrScheduleAtNextAnimationFrame } from 'vs/base/browser/dom'; import strings = require('vs/base/common/strings'); import paths = require('vs/base/common/paths'); import types = require('vs/base/common/types'); diff --git a/src/vs/workbench/parts/debug/browser/breakpointWidget.ts b/src/vs/workbench/parts/debug/browser/breakpointWidget.ts index 97e2a3ad146..57b2453c398 100644 --- a/src/vs/workbench/parts/debug/browser/breakpointWidget.ts +++ b/src/vs/workbench/parts/debug/browser/breakpointWidget.ts @@ -22,7 +22,7 @@ import {RawContextKey, IContextKeyService, IContextKey} from 'vs/platform/contex import debug = require('vs/workbench/parts/debug/common/debug'); import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent'; -const $ = dom.emmet; +const $ = dom.$; const CONTEXT_BREAKPOINT_WIDGET_VISIBLE = new RawContextKey('breakpointWidgetVisible', false); const CLOSE_BREAKPOINT_WIDGET_COMMAND_ID = 'closeBreakpointWidget'; diff --git a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts index ceaf2fdb66e..bb792899392 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugHover.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugHover.ts @@ -22,7 +22,7 @@ import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent'; import {Position} from 'vs/editor/common/core/position'; import {Range} from 'vs/editor/common/core/range'; -const $ = dom.emmet; +const $ = dom.$; const debugTreeOptions = { indentPixels: 6, twistiePixels: 15, diff --git a/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts b/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts index d7087f02a87..93bcd8892d1 100644 --- a/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts +++ b/src/vs/workbench/parts/debug/electron-browser/debugViewer.ts @@ -33,7 +33,7 @@ import {IMessageService} from 'vs/platform/message/common/message'; import {Source} from 'vs/workbench/parts/debug/common/debugSource'; import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent'; -const $ = dom.emmet; +const $ = dom.$; const booleanRegex = /^true|false$/i; const stringRegex = /^(['"]).*\1$/; const MAX_VALUE_RENDER_LENGTH_IN_VIEWLET = 1024; diff --git a/src/vs/workbench/parts/debug/electron-browser/repl.ts b/src/vs/workbench/parts/debug/electron-browser/repl.ts index 4d32cd49ced..cddd6be81b1 100644 --- a/src/vs/workbench/parts/debug/electron-browser/repl.ts +++ b/src/vs/workbench/parts/debug/electron-browser/repl.ts @@ -33,7 +33,7 @@ import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage' import {CommonKeybindings} from 'vs/base/common/keyCodes'; import {IKeyboardEvent} from 'vs/base/browser/keyboardEvent'; -const $ = dom.emmet; +const $ = dom.$; const replTreeOptions: tree.ITreeOptions = { indentPixels: 8, diff --git a/src/vs/workbench/parts/debug/electron-browser/replViewer.ts b/src/vs/workbench/parts/debug/electron-browser/replViewer.ts index b9834927058..b4488d932f5 100644 --- a/src/vs/workbench/parts/debug/electron-browser/replViewer.ts +++ b/src/vs/workbench/parts/debug/electron-browser/replViewer.ts @@ -28,7 +28,7 @@ import {IInstantiationService} from 'vs/platform/instantiation/common/instantiat import {IContextMenuService} from 'vs/platform/contextview/browser/contextView'; import {IWorkbenchEditorService} from 'vs/workbench/services/editor/common/editorService'; -const $ = dom.emmet; +const $ = dom.$; export class ReplExpressionsDataSource implements tree.IDataSource { diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts index f632ed3129e..99518983450 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts @@ -15,7 +15,7 @@ import { Action } from 'vs/base/common/actions'; import { onUnexpectedError } from 'vs/base/common/errors'; import { IDisposable, empty, dispose, toDisposable } from 'vs/base/common/lifecycle'; import { Builder } from 'vs/base/browser/builder'; -import { append, emmet as $, addClass, removeClass, finalHandler } from 'vs/base/browser/dom'; +import { append, $, addClass, removeClass, finalHandler } from 'vs/base/browser/dom'; import { BaseEditor } from 'vs/workbench/browser/parts/editor/baseEditor'; import { IViewlet } from 'vs/workbench/common/viewlet'; import { IViewletService } from 'vs/workbench/services/viewlet/common/viewletService'; diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts index 522a4c4c39e..24aca8c15d8 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts @@ -5,7 +5,7 @@ 'use strict'; -import { append, emmet as $, addClass, removeClass } from 'vs/base/browser/dom'; +import { append, $, addClass, removeClass } from 'vs/base/browser/dom'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index d737782afb4..d0e16e4017c 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -18,7 +18,7 @@ import { domEvent } from 'vs/base/browser/event'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; import { KeyCode } from 'vs/base/common/keyCodes'; import { Viewlet } from 'vs/workbench/browser/viewlet'; -import { append, emmet as $, addStandardDisposableListener, EventType, addClass, removeClass, toggleClass } from 'vs/base/browser/dom'; +import { append, $, addStandardDisposableListener, EventType, addClass, removeClass, toggleClass } from 'vs/base/browser/dom'; import { IPager, PagedModel } from 'vs/base/common/paging'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { PagedList } from 'vs/base/browser/ui/list/listPaging'; diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts index 172dc8f0287..9ffb1cd1d82 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsWidgets.ts @@ -8,7 +8,7 @@ import 'vs/css!./media/extensionsWidgets'; import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { IExtension, IExtensionsWorkbenchService } from './extensions'; -import { append, emmet as $, addClass } from 'vs/base/browser/dom'; +import { append, $, addClass } from 'vs/base/browser/dom'; export interface IOptions { extension?: IExtension; diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsView.ts b/src/vs/workbench/parts/files/browser/views/openEditorsView.ts index d07cca01b02..44784fd6c98 100644 --- a/src/vs/workbench/parts/files/browser/views/openEditorsView.ts +++ b/src/vs/workbench/parts/files/browser/views/openEditorsView.ts @@ -26,7 +26,7 @@ import {Renderer, DataSource, Controller, AccessibilityProvider, ActionProvider import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService'; import {CloseAllEditorsAction} from 'vs/workbench/browser/parts/editor/editorActions'; -const $ = dom.emmet; +const $ = dom.$; export class OpenEditorsView extends AdaptiveCollapsibleViewletView { diff --git a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts index fad64ae505a..fd6b030238c 100644 --- a/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts +++ b/src/vs/workbench/parts/files/browser/views/openEditorsViewer.ts @@ -30,7 +30,7 @@ import {keybindingForAction, SaveFileAction, RevertFileAction, SaveFileAsAction, import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService'; import {CloseOtherEditorsInGroupAction, CloseEditorAction, CloseEditorsInGroupAction} from 'vs/workbench/browser/parts/editor/editorActions'; -const $ = dom.emmet; +const $ = dom.$; export class OpenEditor { diff --git a/src/vs/workbench/parts/git/browser/gitWidgets.ts b/src/vs/workbench/parts/git/browser/gitWidgets.ts index ab3e06bcba2..e26cb98cf47 100644 --- a/src/vs/workbench/parts/git/browser/gitWidgets.ts +++ b/src/vs/workbench/parts/git/browser/gitWidgets.ts @@ -6,7 +6,7 @@ import nls = require('vs/nls'); import strings = require('vs/base/common/strings'); import { Delayer } from 'vs/base/common/async'; -import { emmet as $, append, show, hide, toggleClass } from 'vs/base/browser/dom'; +import { $, append, show, hide, toggleClass } from 'vs/base/browser/dom'; import { IAction } from 'vs/base/common/actions'; import { IDisposable, combinedDisposable } from 'vs/base/common/lifecycle'; import { IGitService, ServiceState, IBranch, ServiceOperations, IRemote } from 'vs/workbench/parts/git/common/git'; diff --git a/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts b/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts index a2876288f83..0cc43836d18 100644 --- a/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts +++ b/src/vs/workbench/parts/git/browser/views/changes/changesViewer.ts @@ -41,7 +41,7 @@ function toReadablePath(path: string): string { return path.replace(/\//g, '\\'); } -var $ = dom.emmet; +const $ = dom.$; export class ActionContainer implements lifecycle.IDisposable { diff --git a/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts b/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts index b278d6c6105..74c172bc952 100644 --- a/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts +++ b/src/vs/workbench/parts/git/browser/views/huge/hugeView.ts @@ -17,7 +17,7 @@ import { IGitService } from 'vs/workbench/parts/git/common/git'; import { onUnexpectedError } from 'vs/base/common/errors'; import {Button} from 'vs/base/browser/ui/button/button'; -const $ = dom.emmet; +const $ = dom.$; export class HugeView extends ee.EventEmitter implements view.IView { diff --git a/src/vs/workbench/parts/markers/browser/markersPanel.ts b/src/vs/workbench/parts/markers/browser/markersPanel.ts index 5f000683095..b45f9b1a57c 100644 --- a/src/vs/workbench/parts/markers/browser/markersPanel.ts +++ b/src/vs/workbench/parts/markers/browser/markersPanel.ts @@ -81,7 +81,7 @@ export class MarkersPanel extends Panel { const conf = this.configurationService.getConfiguration(); this.onConfigurationsUpdated(conf); - let container = dom.append(parent.getHTMLElement(), dom.emmet('.markers-panel-container')); + let container = dom.append(parent.getHTMLElement(), dom.$('.markers-panel-container')); this.createMessageBox(container); this.createTree(container); @@ -147,13 +147,13 @@ export class MarkersPanel extends Panel { } private createMessageBox(parent: HTMLElement): void { - this.messageBoxContainer = dom.append(parent, dom.emmet('.message-box-container')); - this.messageBox = dom.append(this.messageBoxContainer, dom.emmet('span')); + this.messageBoxContainer = dom.append(parent, dom.$('.message-box-container')); + this.messageBox = dom.append(this.messageBoxContainer, dom.$('span')); this.messageBox.setAttribute('tabindex', '0'); } private createTree(parent: HTMLElement): void { - this.treeContainer = dom.append(parent, dom.emmet('.tree-container')); + this.treeContainer = dom.append(parent, dom.$('.tree-container')); var actionProvider = this.instantiationService.createInstance(ActionProvider); var renderer = this.instantiationService.createInstance(Viewer.Renderer, this.getActionRunner(), actionProvider); var controller = this.instantiationService.createInstance(Controller); diff --git a/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts b/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts index a9d11fb213c..d22fc350aae 100644 --- a/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts +++ b/src/vs/workbench/parts/markers/browser/markersTreeViewer.ts @@ -100,12 +100,12 @@ export class Renderer implements IRenderer { private renderResourceTemplate(container: HTMLElement): IResourceTemplateData { var data: IResourceTemplateData = Object.create(null); - const resourceLabelContainer = dom.append(container, dom.emmet('.resource-label-container')); + const resourceLabelContainer = dom.append(container, dom.$('.resource-label-container')); data.file = new FileLabel(resourceLabelContainer, null, this.contextService); // data.statistics= new MarkersStatisticsWidget(dom.append(container, dom.emmet('.marker-stats'))); - const badgeWrapper = dom.append(container, dom.emmet('.count-badge-wrapper')); + const badgeWrapper = dom.append(container, dom.$('.count-badge-wrapper')); data.count = new CountBadge(badgeWrapper); return data; @@ -113,10 +113,10 @@ export class Renderer implements IRenderer { private renderMarkerTemplate(container: HTMLElement): IMarkerTemplateData { var data: IMarkerTemplateData = Object.create(null); - data.icon = dom.append(container, dom.emmet('.marker-icon')); - data.source = new HighlightedLabel(dom.append(container, dom.emmet(''))); - data.description = new HighlightedLabel(dom.append(container, dom.emmet('.marker-description'))); - data.lnCol = dom.append(container, dom.emmet('span.marker-line')); + data.icon = dom.append(container, dom.$('.marker-icon')); + data.source = new HighlightedLabel(dom.append(container, dom.$(''))); + data.description = new HighlightedLabel(dom.append(container, dom.$('.marker-description'))); + data.lnCol = dom.append(container, dom.$('span.marker-line')); return data; } diff --git a/src/vs/workbench/parts/search/browser/searchWidget.ts b/src/vs/workbench/parts/search/browser/searchWidget.ts index 36ab07d1add..d3cbde79fb5 100644 --- a/src/vs/workbench/parts/search/browser/searchWidget.ts +++ b/src/vs/workbench/parts/search/browser/searchWidget.ts @@ -176,7 +176,7 @@ export class SearchWidget extends Widget { placeholder: nls.localize('search.placeHolder', "Search") }; - let searchInputContainer= dom.append(parent, dom.emmet('.search-container.input-box')); + let searchInputContainer= dom.append(parent, dom.$('.search-container.input-box')); this.searchInput = this._register(new FindInput(searchInputContainer, this.contextViewService, inputOptions)); this.searchInput.onKeyUp((keyboardEvent: IKeyboardEvent) => this.onSearchInputKeyUp(keyboardEvent)); this.searchInput.onKeyDown((keyboardEvent: IKeyboardEvent) => this.onSearchInputKeyDown(keyboardEvent)); @@ -187,8 +187,8 @@ export class SearchWidget extends Widget { } private renderReplaceInput(parent: HTMLElement): void { - this.replaceContainer = dom.append(parent, dom.emmet('.replace-container.disabled')); - let replaceBox= dom.append(this.replaceContainer, dom.emmet('.input-box')); + this.replaceContainer = dom.append(parent, dom.$('.replace-container.disabled')); + let replaceBox= dom.append(this.replaceContainer, dom.$('.input-box')); this.replaceInput = this._register(new InputBox(replaceBox, this.contextViewService, { ariaLabel: nls.localize('label.Replace', 'Replace: Type replace term and press Enter to preview or Escape to cancel'), placeholder: nls.localize('search.replace.placeHolder', "Replace")