mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-29 16:20:29 -04:00
29 lines
1.2 KiB
TypeScript
29 lines
1.2 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import 'vs/css!./quickInput';
|
|
import * as dom from 'vs/base/browser/dom';
|
|
import { URI } from 'vs/base/common/uri';
|
|
import { IdGenerator } from 'vs/base/common/idGenerator';
|
|
|
|
const iconPathToClass = {};
|
|
const iconClassGenerator = new IdGenerator('quick-input-button-icon-');
|
|
|
|
export function getIconClass(iconPath: { dark: URI; light?: URI; }) {
|
|
let iconClass: string;
|
|
|
|
const key = iconPath.dark.toString();
|
|
if (iconPathToClass[key]) {
|
|
iconClass = iconPathToClass[key];
|
|
} else {
|
|
iconClass = iconClassGenerator.nextId();
|
|
dom.createCSSRule(`.${iconClass}`, `background-image: url("${(iconPath.light || iconPath.dark).toString()}")`);
|
|
dom.createCSSRule(`.vs-dark .${iconClass}, .hc-black .${iconClass}`, `background-image: url("${iconPath.dark.toString()}")`);
|
|
iconPathToClass[key] = iconClass;
|
|
}
|
|
|
|
return iconClass;
|
|
}
|