本文整理汇总了TypeScript中vs/base/browser/dom.addStandardDisposableListener函数的典型用法代码示例。如果您正苦于以下问题:TypeScript addStandardDisposableListener函数的具体用法?TypeScript addStandardDisposableListener怎么用?TypeScript addStandardDisposableListener使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了addStandardDisposableListener函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: constructor
constructor(options: string[], selected: number, styles: ISelectBoxStyles = deepClone(defaultStyles)) {
super();
this.selectElement = document.createElement('select');
this.selectElement.className = 'select-box';
this.setOptions(options, selected);
this.toDispose = [];
this._onDidSelect = new Emitter<ISelectData>();
this.selectBackground = styles.selectBackground;
this.selectForeground = styles.selectForeground;
this.selectBorder = styles.selectBorder;
this.toDispose.push(dom.addStandardDisposableListener(this.selectElement, 'change', (e) => {
this.selectElement.title = e.target.value;
this._onDidSelect.fire({
index: e.target.selectedIndex,
selected: e.target.value
});
}));
this.toDispose.push(dom.addStandardDisposableListener(this.selectElement, 'keydown', (e) => {
if (e.equals(KeyCode.Space) || e.equals(KeyCode.Enter)) {
// Space is used to expand select box, do not propagate it (prevent action bar action run)
e.stopPropagation();
}
}));
}
开发者ID:SeanKilleen,项目名称:vscode,代码行数:28,代码来源:selectBox.ts
示例2: registerListeners
private registerListeners() {
this.toDispose.push(dom.addStandardDisposableListener(this.selectElement, 'change', (e) => {
this.selectElement.title = e.target.value;
this._onDidSelect.fire({
index: e.target.selectedIndex,
selected: e.target.value
});
}));
this.toDispose.push(dom.addStandardDisposableListener(this.selectElement, 'keydown', (e) => {
let showSelect = false;
if (isMacintosh) {
if (e.keyCode === KeyCode.DownArrow || e.keyCode === KeyCode.UpArrow || e.keyCode === KeyCode.Space) {
showSelect = true;
}
} else {
if (e.keyCode === KeyCode.DownArrow && e.altKey || e.keyCode === KeyCode.Space || e.keyCode === KeyCode.Enter) {
showSelect = true;
}
}
if (showSelect) {
// Space, Enter, is used to expand select box, do not propagate it (prevent action bar action run)
e.stopPropagation();
}
}));
}
开发者ID:DonJayamanne,项目名称:vscode,代码行数:29,代码来源:selectBoxNative.ts
示例3: constructor
constructor(
options: string[],
selectedOption: string,
contextViewProvider: IContextViewProvider,
private _clipboardService: IClipboardService) {
super(options, 0, contextViewProvider);
this.contextViewProvider = contextViewProvider;
this.isValid = true;
this.selectElement.multiple = true;
this.selectElement.style['height'] = '80px';
// Set width style for horizontal scrollbar
this.selectElement.style['width'] = 'inherit';
this.selectElement.style['min-width'] = '100%';
this._register(dom.addStandardDisposableListener(this.selectElement, dom.EventType.KEY_DOWN, e => this.onKeyDown(e)));
this.enabledSelectBackground = this.selectBackground;
this.enabledSelectForeground = this.selectForeground;
this.enabledSelectBorder = this.selectBorder;
this.disabledSelectBackground = Color.transparent;
this.disabledSelectForeground = null;
this.disabledSelectBorder = null;
this.inputValidationInfoBorder = defaultOpts.inputValidationInfoBorder;
this.inputValidationInfoBackground = defaultOpts.inputValidationInfoBackground;
this.inputValidationWarningBorder = defaultOpts.inputValidationWarningBorder;
this.inputValidationWarningBackground = defaultOpts.inputValidationWarningBackground;
this.inputValidationErrorBorder = defaultOpts.inputValidationErrorBorder;
this.inputValidationErrorBackground = defaultOpts.inputValidationErrorBackground;
this.onblur(this.selectElement, () => this.onBlur());
this.onfocus(this.selectElement, () => this.onFocus());
}
开发者ID:burhandodhy,项目名称:azuredatastudio,代码行数:35,代码来源:listBox.ts
示例4: constructor
constructor(options: string[], selected: number) {
super();
this.selectElement = document.createElement('select');
this.selectElement.className = 'select-box';
this.setOptions(options, selected);
this.toDispose = [];
this._onDidSelect = new Emitter<string>();
this.toDispose.push(dom.addStandardDisposableListener(this.selectElement, 'change', (e) => {
this.selectElement.title = e.target.value;
this._onDidSelect.fire(e.target.value);
}));
}
开发者ID:diarmaidm,项目名称:vscode,代码行数:15,代码来源:selectBox.ts
示例5: constructor
constructor(options: string[], selected: number, styles: ISelectBoxStyles = clone(defaultStyles)) {
super();
this.selectElement = document.createElement('select');
this.selectElement.className = 'select-box';
this.setOptions(options, selected);
this.toDispose = [];
this._onDidSelect = new Emitter<string>();
this.selectBackground = styles.selectBackground;
this.selectForeground = styles.selectForeground;
this.selectBorder = styles.selectBorder;
this.toDispose.push(dom.addStandardDisposableListener(this.selectElement, 'change', (e) => {
this.selectElement.title = e.target.value;
this._onDidSelect.fire(e.target.value);
}));
}
开发者ID:FabianLauer,项目名称:vscode,代码行数:19,代码来源:selectBox.ts
示例6: _renderFormattedText
function _renderFormattedText(element: Node, treeNode: IFormatParseTree, actionHandler?: IContentActionHandler) {
let child: Node;
if (treeNode.type === FormatType.Text) {
child = document.createTextNode(treeNode.content);
}
else if (treeNode.type === FormatType.Bold) {
child = document.createElement('b');
}
else if (treeNode.type === FormatType.Italics) {
child = document.createElement('i');
}
else if (treeNode.type === FormatType.Action && actionHandler) {
const a = document.createElement('a');
a.href = '#';
actionHandler.disposeables.push(DOM.addStandardDisposableListener(a, 'click', (event) => {
actionHandler.callback(String(treeNode.index), event);
}));
child = a;
}
else if (treeNode.type === FormatType.NewLine) {
child = document.createElement('br');
}
else if (treeNode.type === FormatType.Root) {
child = element;
}
if (element !== child) {
element.appendChild(child);
}
if (Array.isArray(treeNode.children)) {
treeNode.children.forEach((nodeChild) => {
_renderFormattedText(child, nodeChild, actionHandler);
});
}
}
开发者ID:burhandodhy,项目名称:azuredatastudio,代码行数:38,代码来源:htmlContentRenderer.ts
示例7: _renderFormattedText
function _renderFormattedText(element: Node, treeNode: IFormatParseTree, actionCallback?: (content: string, event?: IMouseEvent) => void) {
var child: Node;
if (treeNode.type === FormatType.Text) {
child = document.createTextNode(treeNode.content);
}
else if (treeNode.type === FormatType.Bold) {
child = document.createElement('b');
}
else if (treeNode.type === FormatType.Italics) {
child = document.createElement('i');
}
else if (treeNode.type === FormatType.Action) {
var a = document.createElement('a');
a.href = '#';
DOM.addStandardDisposableListener(a, 'click', (event) => {
actionCallback(String(treeNode.index), event);
});
child = a;
}
else if (treeNode.type === FormatType.NewLine) {
child = document.createElement('br');
}
else if (treeNode.type === FormatType.Root) {
child = element;
}
if (element !== child) {
element.appendChild(child);
}
if (Array.isArray(treeNode.children)) {
treeNode.children.forEach((nodeChild) => {
_renderFormattedText(child, nodeChild, actionCallback);
});
}
}
开发者ID:kieferrm,项目名称:vscode,代码行数:38,代码来源:htmlContentRenderer.ts
示例8: renderMarkdown
//.........这里部分代码省略.........
}
if (text) {
attributes.push(`alt="${text}"`);
}
if (title) {
attributes.push(`title="${title}"`);
}
if (dimensions.length) {
attributes = attributes.concat(dimensions);
}
return '<img ' + attributes.join(' ') + '>';
};
renderer.link = (href, title, text): string => {
// Remove markdown escapes. Workaround for https://github.com/chjj/marked/issues/829
if (href === text) { // raw link case
text = removeMarkdownEscapes(text);
}
title = removeMarkdownEscapes(title);
href = removeMarkdownEscapes(href);
if (
!href
|| href.match(/^data:|javascript:/i)
|| (href.match(/^command:/i) && !markdown.isTrusted)
) {
// drop the link
return text;
} else {
return `<a href="#" data-href="${href}" title="${title || href}">${text}</a>`;
}
};
renderer.paragraph = (text): string => {
return `<p>${text}</p>`;
};
if (options.codeBlockRenderer) {
renderer.code = (code, lang) => {
const value = options.codeBlockRenderer(lang, code);
// when code-block rendering is async we return sync
// but update the node with the real result later.
const id = defaultGenerator.nextId();
// {{SQL CARBON EDIT}} - Promise.all not returning the strValue properly in original code?
const promise = value.then(strValue => {
withInnerHTML.then(e => {
const span = element.querySelector(`div[data-code="${id}"]`);
if (span) {
span.innerHTML = strValue;
}
}).catch(err => {
// ignore
});
});
// original VS Code source
// const promise = Promise.all([value, withInnerHTML]).then(values => {
// const strValue = values[0];
// const span = element.querySelector(`div[data-code="${id}"]`);
// if (span) {
// span.innerHTML = strValue;
// }
// }).catch(err => {
// // ignore
// });
if (options.codeBlockRenderCallback) {
promise.then(options.codeBlockRenderCallback);
}
return `<div class="code" data-code="${id}">${escape(code)}</div>`;
};
}
if (options.actionHandler) {
options.actionHandler.disposeables.push(DOM.addStandardDisposableListener(element, 'click', event => {
let target = event.target;
if (target.tagName !== 'A') {
target = target.parentElement;
if (!target || target.tagName !== 'A') {
return;
}
}
const href = target.dataset['href'];
if (href) {
options.actionHandler.callback(href, event);
}
}));
}
const markedOptions: MarkedOptions = {
sanitize: true,
renderer
};
element.innerHTML = marked(markdown.value, markedOptions);
signalInnerHTML();
return element;
}
开发者ID:burhandodhy,项目名称:azuredatastudio,代码行数:101,代码来源:htmlContentRenderer.ts
示例9: renderMarkdown
//.........这里部分代码省略.........
attributes.push(`src="${href}"`);
}
if (text) {
attributes.push(`alt="${text}"`);
}
if (title) {
attributes.push(`title="${title}"`);
}
if (dimensions.length) {
attributes = attributes.concat(dimensions);
}
return '<img ' + attributes.join(' ') + '>';
};
renderer.link = (href, title, text): string => {
// Remove markdown escapes. Workaround for https://github.com/chjj/marked/issues/829
if (href === text) { // raw link case
text = removeMarkdownEscapes(text);
}
href = _href(href);
title = removeMarkdownEscapes(title);
href = removeMarkdownEscapes(href);
if (
!href
|| href.match(/^data:|javascript:/i)
|| (href.match(/^command:/i) && !markdown.isTrusted)
|| href.match(/^command:(\/\/\/)?_workbench\.downloadResource/i)
) {
// drop the link
return text;
} else {
// HTML Encode href
href = href.replace(/&/g, '&')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''');
return `<a href="#" data-href="${href}" title="${title || href}">${text}</a>`;
}
};
renderer.paragraph = (text): string => {
return `<p>${text}</p>`;
};
if (options.codeBlockRenderer) {
renderer.code = (code, lang) => {
const value = options.codeBlockRenderer!(lang, code);
// when code-block rendering is async we return sync
// but update the node with the real result later.
const id = defaultGenerator.nextId();
const promise = Promise.all([value, withInnerHTML]).then(values => {
const strValue = values[0];
const span = element.querySelector(`div[data-code="${id}"]`);
if (span) {
span.innerHTML = strValue;
}
}).catch(err => {
// ignore
});
if (options.codeBlockRenderCallback) {
promise.then(options.codeBlockRenderCallback);
}
return `<div class="code" data-code="${id}">${escape(code)}</div>`;
};
}
if (options.actionHandler) {
options.actionHandler.disposeables.push(DOM.addStandardDisposableListener(element, 'click', event => {
let target: HTMLElement | null = event.target;
if (target.tagName !== 'A') {
target = target.parentElement;
if (!target || target.tagName !== 'A') {
return;
}
}
try {
const href = target.dataset['href'];
if (href) {
options.actionHandler!.callback(href, event);
}
} catch (err) {
onUnexpectedError(err);
} finally {
event.preventDefault();
}
}));
}
const markedOptions: marked.MarkedOptions = {
sanitize: markdown instanceof MarkdownString ? markdown.sanitize : true,
renderer
};
element.innerHTML = marked.parse(markdown.value, markedOptions);
signalInnerHTML!();
return element;
}
开发者ID:,项目名称:,代码行数:101,代码来源:
注:本文中的vs/base/browser/dom.addStandardDisposableListener函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论