mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-26 01:25:38 -05:00
Adding light contrast theme (#22028)
* Adding light contrast theme
* fixing oe icons
* Fixing more files
* Converting ep files to support hc light
* Revert "Copy Headers for Selected Columns (#21622)"
This reverts commit f74d6f6d9b.
* Adding more css rules
* Fixing modal
* Fixing azure icons
This commit is contained in:
@@ -24,6 +24,8 @@
|
||||
.modal.callout-dialog .modal-content .row {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.hc-light .modal.callout-dialog .modal-dialog,
|
||||
.hc-black .modal.callout-dialog .modal-dialog {
|
||||
box-shadow: none;
|
||||
}
|
||||
@@ -55,9 +57,12 @@
|
||||
width: 26px;
|
||||
}
|
||||
|
||||
.hc-light .callout-arrow:before,
|
||||
.hc-black .callout-arrow:before {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.hc-light .callout-arrow.from-left:before,
|
||||
.hc-black .callout-arrow.from-left:before {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
@@ -219,16 +219,16 @@
|
||||
margin: 3px 10px 3px 3px;
|
||||
}
|
||||
|
||||
.modal.flyout-dialog .dialog-message.info .dialog-message-button > a:focus,
|
||||
.modal.flyout-dialog .dialog-message.error .dialog-message-button > a:focus {
|
||||
.modal.flyout-dialog .dialog-message.info .dialog-message-button>a:focus,
|
||||
.modal.flyout-dialog .dialog-message.error .dialog-message-button>a:focus {
|
||||
outline-color: #FFFFFF;
|
||||
}
|
||||
|
||||
.modal.flyout-dialog .dialog-message.warning .dialog-message-button > a:focus {
|
||||
.modal.flyout-dialog .dialog-message.warning .dialog-message-button>a:focus {
|
||||
outline-color: #000000;
|
||||
}
|
||||
|
||||
.modal.flyout-dialog .dialog-message-button > a {
|
||||
.modal.flyout-dialog .dialog-message-button>a {
|
||||
background-position-x: 2px !important;
|
||||
background-color: inherit !important;
|
||||
color: inherit !important;
|
||||
@@ -298,11 +298,32 @@
|
||||
background: url('error_notification_inverse.svg') center center no-repeat;
|
||||
}
|
||||
|
||||
.hc-light .dialog-message.info .dialog-message-icon {
|
||||
background: url('info_notification.svg') center center no-repeat !important;
|
||||
}
|
||||
|
||||
.hc-light .dialog-message.error .dialog-message-icon {
|
||||
background: url('error_notification.svg') center center no-repeat !important;
|
||||
}
|
||||
|
||||
.hc-light .dialog-message.warning .dialog-message-icon {
|
||||
background: url('warning_notification.svg') center center no-repeat !important;
|
||||
}
|
||||
|
||||
.hc-light .copy-message-icon {
|
||||
background: url('copy.svg') center center no-repeat !important;
|
||||
}
|
||||
|
||||
.hc-light .close-message-icon {
|
||||
background: url('close.svg') center center no-repeat !important;
|
||||
}
|
||||
|
||||
.codicon.masked-icon.browse-local {
|
||||
display: inline-block;
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
}
|
||||
|
||||
.codicon.masked-icon.browse-local:before {
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
|
||||
@@ -47,7 +47,8 @@
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.backButtonIcon {
|
||||
.backButtonIcon,
|
||||
.hc-light .backButtonIcon {
|
||||
content: url('back.svg');
|
||||
width: 20px;
|
||||
margin-right: 10px;
|
||||
@@ -73,7 +74,8 @@
|
||||
background-size: 16px;
|
||||
}
|
||||
|
||||
.vs .optionsDialog-options .optionsDialog-description .modal-title {
|
||||
.vs .optionsDialog-options .optionsDialog-description .modal-title,
|
||||
.hc-light .optionsDialog-options .optionsDialog-description .modal-title {
|
||||
background-image: url('info_notification.svg')
|
||||
}
|
||||
|
||||
|
||||
@@ -754,6 +754,8 @@ export abstract class Modal extends Disposable implements IThemable {
|
||||
box-shadow: 0px 3.2px 7.2px rgba(${shadowRgb.rgba.r}, ${shadowRgb.rgba.g}, ${shadowRgb.rgba.b}, 0.132),
|
||||
0px 0.6px 1.8px rgba(${shadowRgb.rgba.r}, ${shadowRgb.rgba.g}, ${shadowRgb.rgba.b}, 0.108);
|
||||
}
|
||||
|
||||
.hc-light .modal.callout-dialog .modal-dialog,
|
||||
.hc-black .modal.callout-dialog .modal-dialog {
|
||||
border-color: rgba(${exteriorBorderRgb.rgba.r}, ${exteriorBorderRgb.rgba.g}, ${exteriorBorderRgb.rgba.b}, 1);
|
||||
}
|
||||
@@ -764,6 +766,8 @@ export abstract class Modal extends Disposable implements IThemable {
|
||||
background-color: ${this._dialogBodyBackground};
|
||||
border-color: transparent transparent rgba(${exteriorBorderRgb.rgba.r}, ${exteriorBorderRgb.rgba.g}, ${exteriorBorderRgb.rgba.b}, 0.5) rgba(${exteriorBorderRgb.rgba.r}, ${exteriorBorderRgb.rgba.g}, ${exteriorBorderRgb.rgba.b}, 0.5);
|
||||
}
|
||||
|
||||
.hc-light .callout-arrow:before,
|
||||
.hc-black .callout-arrow:before {
|
||||
border-color: transparent transparent rgba(${exteriorBorderRgb.rgba.r}, ${exteriorBorderRgb.rgba.g}, ${exteriorBorderRgb.rgba.b}, 1) rgba(${exteriorBorderRgb.rgba.r}, ${exteriorBorderRgb.rgba.g}, ${exteriorBorderRgb.rgba.b}, 1);
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ export function createIconCssClass(iconPath: IconPath, className?: string): stri
|
||||
removeCSSRulesContainingSelector(iconClass);
|
||||
const icon = getLightIconUri(iconPath);
|
||||
const iconDark = getDarkIconUri(iconPath) || icon;
|
||||
createCSSRule(`.icon.${iconClass}`, `background-image: ${asCSSUrl(icon)}`);
|
||||
createCSSRule(`.icon.${iconClass}, .hc-light .icon.${iconClass}`, `background-image: ${asCSSUrl(icon)}`);
|
||||
createCSSRule(`.vs-dark .icon.${iconClass}, .hc-black .icon.${iconClass}`, `background-image: ${asCSSUrl(iconDark)}`);
|
||||
return iconClass;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,10 @@ modelview-diff-editor-component {
|
||||
font-size: 11px
|
||||
}
|
||||
|
||||
.hc-light .modelview-diff-editor-title-background {
|
||||
background-color: #6fc3df;
|
||||
}
|
||||
|
||||
.vs-dark .modelview-diff-editor-title-background {
|
||||
background-color: #434343;
|
||||
}
|
||||
@@ -34,4 +38,4 @@ modelview-diff-editor-component {
|
||||
|
||||
.modelview-diff-editor-title-background {
|
||||
background-color: #d5d5d5;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.vs .modelview-group-header-collapsible.expanded {
|
||||
.vs .modelview-group-header-collapsible.expanded,
|
||||
.hc-light .modelview-group-header-collapsible.expanded {
|
||||
background-image: url("expanded.svg");
|
||||
}
|
||||
|
||||
@@ -36,7 +37,8 @@
|
||||
background-image: url("expanded_inverse.svg");
|
||||
}
|
||||
|
||||
.vs .modelview-group-header-collapsible.collapsed {
|
||||
.vs .modelview-group-header-collapsible.collapsed,
|
||||
.hc-light .modelview-group-header-collapsible.collapsed {
|
||||
background-image: url("collapsed.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,8 @@
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.vs .modelview-loadingComponent-spinner {
|
||||
.vs .modelview-loadingComponent-spinner,
|
||||
.hc-light .modelview-loadingComponent-spinner {
|
||||
content: url("loading.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -56,15 +56,18 @@ modelview-dom-component .showEditorSelection li.code-line:hover:before {
|
||||
left: -30px;
|
||||
}
|
||||
|
||||
modelview-dom-component .showEditorSelection .code-active-line:before {
|
||||
modelview-dom-component .showEditorSelection .code-active-line:before,
|
||||
.monaco-workbench.hc-light modelview-dom-component .showEditorSelection .code-active-line:before {
|
||||
border-left: 3px solid rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
modelview-dom-component .showEditorSelection .code-line:hover:before {
|
||||
modelview-dom-component .showEditorSelection .code-line:hover:before,
|
||||
.monaco-workbench.hc-light modelview-dom-component .showEditorSelection .code-line:hover:before {
|
||||
border-left: 3px solid rgba(0, 0, 0, 0.40);
|
||||
}
|
||||
|
||||
modelview-dom-component .showEditorSelection .code-line .code-line:hover:before {
|
||||
modelview-dom-component .showEditorSelection .code-line .code-line:hover:before,
|
||||
.monaco-workbench.hc-light modelview-dom-component .showEditorSelection .code-line .code-line:hover:before {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
@@ -91,6 +94,14 @@ modelview-dom-component .showEditorSelection .code-line .code-line:hover:before
|
||||
border-left: 3px solid rgba(255, 160, 0, 1);
|
||||
}
|
||||
|
||||
.hc-light modelview-dom-component .showEditorSelection .code-active-line:before {
|
||||
border-left: 3px solid #6fc3df;
|
||||
}
|
||||
|
||||
.hc-light modelview-dom-component .showEditorSelection .code-line:hover:before {
|
||||
border-left: 3px solid #6fc3df;
|
||||
}
|
||||
|
||||
modelview-dom-component .showEditorSelection .code-line .code-line:hover:before {
|
||||
border-left: none;
|
||||
}
|
||||
@@ -205,6 +216,14 @@ modelview-dom-component pre {
|
||||
background-color: rgba(220, 220, 220, 0.4);
|
||||
}
|
||||
|
||||
.monaco-workbench.hc-light modelview-dom-component pre {
|
||||
background-color: rgba(255, 255, 255);
|
||||
}
|
||||
|
||||
.monaco-workbench.hc-light modelview-dom-component h1 {
|
||||
border-color: rgba(255, 255, 255);
|
||||
}
|
||||
|
||||
.monaco-workbench.vs-dark modelview-dom-component pre {
|
||||
background-color: rgba(10, 10, 10, 0.4);
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ modelview-text div#textContainer {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.vs .modelview-text-tooltip {
|
||||
.vs .modelview-text-tooltip, .hc-light .modelview-text-tooltip {
|
||||
background-image: url('info.svg')
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ modelview-text div#textContainer {
|
||||
margin-left: 14px;
|
||||
}
|
||||
|
||||
.vs .modelview-text-tooltip .modelview-text-tooltip-content {
|
||||
.vs .modelview-text-tooltip .modelview-text-tooltip-content, .hc-light .modelview-text-tooltip .modelview-text-tooltip-content {
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ ExtensionsRegistry.registerExtensionPoint<IAccountContrib | IAccountContrib[]>({
|
||||
} else {
|
||||
const light = resources.joinPath(extension.description.extensionLocation, icon.light);
|
||||
const dark = resources.joinPath(extension.description.extensionLocation, icon.dark);
|
||||
createCSSRule(`.codicon.${iconClass}`, `background-image: ${asCSSUrl(light)}`);
|
||||
createCSSRule(`.codicon.${iconClass}, .hc-light .codicon.${iconClass}`, `background-image: ${asCSSUrl(light)}`);
|
||||
createCSSRule(`.vs-dark .codicon.${iconClass}, .hc-black .codicon.${iconClass}`, `background-image: ${asCSSUrl(dark)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,7 +98,8 @@ asmtview-component .asmtview-grid .slick-cell.error-row {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
.vs asmtview-component .action-label.codicon.exportAsScriptIcon {
|
||||
.vs asmtview-component .action-label.codicon.exportAsScriptIcon,
|
||||
.hc-light asmtview-component .action-label.codicon.exportAsScriptIcon {
|
||||
background-image: url("newquery.svg");
|
||||
}
|
||||
|
||||
@@ -107,7 +108,8 @@ asmtview-component .asmtview-grid .slick-cell.error-row {
|
||||
background-image: url("newquery_inverse.svg");
|
||||
}
|
||||
|
||||
.vs asmtview-component .action-label.codicon.asmt-learnmore {
|
||||
.vs asmtview-component .action-label.codicon.asmt-learnmore,
|
||||
.hc-light asmtview-component .action-label.codicon.asmt-learnmore {
|
||||
background-image: url("configuredashboard.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,8 @@ dashboard-page .editor-toolbar {
|
||||
background-size: 8px;
|
||||
}
|
||||
|
||||
.dashboardEditor breadcrumb {
|
||||
.dashboardEditor breadcrumb,
|
||||
.hc-light .dashboardEditor breadcrumb {
|
||||
font-size: 13px;
|
||||
color: #323130;
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ export function createCSSRuleForIcon(icon: IUserFriendlyIcon, extension: IExtens
|
||||
} else {
|
||||
const light = resources.joinPath(extension.description.extensionLocation, icon.light);
|
||||
const dark = resources.joinPath(extension.description.extensionLocation, icon.dark);
|
||||
createCSSRule(`.codicon.${iconClass}`, `background-image: ${asCSSUrl(light)}`);
|
||||
createCSSRule(`.codicon.${iconClass}, .hc-light .codicon.${iconClass}`, `background-image: ${asCSSUrl(light)}`);
|
||||
createCSSRule(`.vs-dark .codicon.${iconClass}, .hc-black .codicon.${iconClass}`, `background-image: ${asCSSUrl(dark)}`);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
}
|
||||
|
||||
/* High Contrast Theming */
|
||||
.monaco-workbench.hc-light .server-explorer-viewlet .server-group,
|
||||
.monaco-workbench.hc-black .server-explorer-viewlet .server-group {
|
||||
line-height: 20px;
|
||||
}
|
||||
@@ -134,7 +135,9 @@
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon.server-page {
|
||||
.hc-light .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .connection-tile > .icon.server-page,
|
||||
.monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon.server-page,
|
||||
.hc-light .monaco-list .monaco-list-rows > .monaco-list-row .connection-tile > .icon.server-page {
|
||||
background: url('default_server.svg') center center no-repeat;
|
||||
}
|
||||
|
||||
|
||||
@@ -152,6 +152,22 @@ slick-grid.active .editDataGrid .slick-cell.selected {
|
||||
--color-grid-dirty-text: #000;
|
||||
}
|
||||
|
||||
.hc-light .slickgridContainer {
|
||||
--color-content: #101010;
|
||||
--color-content-disabled: grey;
|
||||
--color-error: #E81123;
|
||||
--color-success: #7CD300;
|
||||
--color-bg-header: hsla(0,0%,50%,.2); /* used for pane toolbars */
|
||||
--color-resize-handle: #000000;
|
||||
--color-bg-content-header: #ffffff; /* used for color of grid headers */
|
||||
--color-cell-border-active: #6fc3df;
|
||||
--color-cell-bg-grid-selected: rgb(173, 214, 255);
|
||||
--color-grid-link: #0078D7;
|
||||
--color-grid-link-hover: #0b93ff;
|
||||
--color-grid-dirty-background: #FFF;
|
||||
--color-grid-dirty-text: #000;
|
||||
}
|
||||
|
||||
.vs-dark .slickgridContainer {
|
||||
--color-content: #E5E5E5;
|
||||
--color-content-disabled: grey;
|
||||
@@ -183,3 +199,6 @@ slick-grid.active .editDataGrid .slick-cell.selected {
|
||||
--color-grid-dirty-background: #CCC;
|
||||
--color-grid-dirty-text: #101010;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -316,7 +316,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
.eps-container .ep-save-plan-icon {
|
||||
.eps-container .ep-save-plan-icon,
|
||||
.hc-light .eps-container .ep-save-plan-icon {
|
||||
background-image: url(../images/actionIcons/save.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -331,7 +332,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-open-properties-icon {
|
||||
.eps-container .ep-open-properties-icon,
|
||||
.hc-light .eps-container .ep-open-properties-icon {
|
||||
background-image: url(../images/actionIcons/openProperties.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -346,7 +348,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-open-query-icon {
|
||||
.eps-container .ep-open-query-icon,
|
||||
.hc-light .eps-container .ep-open-query-icon {
|
||||
background-image: url(../images/actionIcons/openQuery.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -361,7 +364,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-open-plan-file-icon {
|
||||
.eps-container .ep-open-plan-file-icon,
|
||||
.hc-light .eps-container .ep-open-plan-file-icon {
|
||||
background-image: url(../images/actionIcons/openPlanFile.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -378,7 +382,9 @@ However we always want it to be the width of the container it is resizing.
|
||||
|
||||
|
||||
.eps-container .ep-search-icon,
|
||||
.top-operations-tab .ep-search-icon {
|
||||
.top-operations-tab .ep-search-icon,
|
||||
.hc-light .eps-container .ep-search-icon,
|
||||
.hc-light .top-operations-tab .ep-search-icon {
|
||||
background-image: url(../images/actionIcons/search.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -396,7 +402,9 @@ However we always want it to be the width of the container it is resizing.
|
||||
}
|
||||
|
||||
.eps-container .ep-filter-icon,
|
||||
.top-operations-tab .ep-filter-icon {
|
||||
.top-operations-tab .ep-filter-icon,
|
||||
.hc-light .eps-container .ep-filter-icon,
|
||||
.hc-light .top-operations-tab .ep-filter-icon {
|
||||
background-image: url(../images/actionIcons/filter.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -413,7 +421,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-sort-alphabetically-icon {
|
||||
.eps-container .ep-sort-alphabetically-icon,
|
||||
.hc-light .eps-container .ep-sort-alphabetically-icon {
|
||||
background-image: url(../images/actionIcons/sortAlphabetically.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -428,7 +437,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-sort-reverse-alphabetically-icon {
|
||||
.eps-container .ep-sort-reverse-alphabetically-icon,
|
||||
.hc-light .eps-container .ep-sort-reverse-alphabetically-icon {
|
||||
background-image: url(../images/actionIcons/sortReverseAlphabetically.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -443,7 +453,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-sort-display-order-icon {
|
||||
.eps-container .ep-sort-display-order-icon,
|
||||
.hc-light .eps-container .ep-sort-display-order-icon {
|
||||
background-image: url(../images/actionIcons/sortByDisplayOrder.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -458,7 +469,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-zoom-in-icon {
|
||||
.eps-container .ep-zoom-in-icon,
|
||||
.hc-light .eps-container .ep-zoom-in-icon {
|
||||
background-image: url(../images/actionIcons/zoomIn.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -473,7 +485,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-zoom-out-icon {
|
||||
.eps-container .ep-zoom-out-icon,
|
||||
.hc-light .eps-container .ep-zoom-out-icon {
|
||||
background-image: url(../images/actionIcons/zoomOut.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -488,7 +501,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-custom-zoom-icon {
|
||||
.eps-container .ep-custom-zoom-icon,
|
||||
.hc-light .eps-container .ep-custom-zoom-icon {
|
||||
background-image: url(../images/actionIcons/customZoom.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -503,7 +517,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-zoom-to-fit-icon {
|
||||
.eps-container .ep-zoom-to-fit-icon,
|
||||
.hc-light .eps-container .ep-zoom-to-fit-icon {
|
||||
background-image: url(../images/actionIcons/zoomToFit.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -518,21 +533,24 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-zoom-icon {
|
||||
.eps-container .ep-zoom-icon,
|
||||
.hc-light .eps-container .ep-zoom-icon {
|
||||
background-image: url(../images/actionIcons/zoom.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-zoom-icon {
|
||||
.eps-container .ep-zoom-icon,
|
||||
.hc-light .eps-container .ep-zoom-icon {
|
||||
background-image: url(../images/actionIcons/zoomDark.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-highlight-expensive-operation-icon {
|
||||
.eps-container .ep-highlight-expensive-operation-icon,
|
||||
.hc-light .eps-container .ep-highlight-expensive-operation-icon {
|
||||
background-image: url(../images/actionIcons/highlightExpensiveOperation.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -547,7 +565,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-enable-tooltip-icon {
|
||||
.eps-container .ep-enable-tooltip-icon,
|
||||
.hc-light .eps-container .ep-enable-tooltip-icon {
|
||||
background-image: url(../images/actionIcons/enableTooltip.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -562,7 +581,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-disable-tooltip-icon {
|
||||
.eps-container .ep-disable-tooltip-icon,
|
||||
.hc-light .eps-container .ep-disable-tooltip-icon {
|
||||
background-image: url(../images/actionIcons/disableTooltip.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -577,7 +597,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-add-icon {
|
||||
.eps-container .ep-add-icon,
|
||||
.hc-light .eps-container .ep-add-icon {
|
||||
background-image: url(../images/actionIcons/add.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -592,14 +613,16 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-settings-icon {
|
||||
.eps-container .ep-settings-icon,
|
||||
.hc-light .eps-container .ep-settings-icon {
|
||||
background-image: url(../images/actionIcons/settings.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.ep-split-screen-horizontally-icon {
|
||||
.ep-split-screen-horizontally-icon,
|
||||
.hc-light .ep-split-screen-horizontally-icon {
|
||||
background-image: url(../images/actionIcons/splitScreenHorizontally.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -614,7 +637,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-split-screen-vertically-icon {
|
||||
.eps-container .ep-split-screen-vertically-icon,
|
||||
.hc-light .eps-container .ep-split-screen-vertically-icon {
|
||||
background-image: url(../images/actionIcons/splitScreenVertically.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -629,7 +653,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-reset-zoom-icon {
|
||||
.eps-container .ep-reset-zoom-icon,
|
||||
.hc-light .eps-container .ep-reset-zoom-icon {
|
||||
background-image: url(../images/actionIcons/resetZoom.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -645,7 +670,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
}
|
||||
|
||||
|
||||
.eps-container .ep-plan-compare-icon {
|
||||
.eps-container .ep-plan-compare-icon,
|
||||
.hc-light .eps-container .ep-plan-compare-icon {
|
||||
background-image: url(../images/actionIcons/execution-plan-compare.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -660,7 +686,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.eps-container .ep-properties-different {
|
||||
.eps-container .ep-properties-different,
|
||||
.hc-light .eps-container .ep-properties-different {
|
||||
background-image: url(../images/actionIcons/different.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -689,7 +716,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
margin-left: -28px;
|
||||
}
|
||||
|
||||
.eps-container .ep-properties-down-arrow {
|
||||
.eps-container .ep-properties-down-arrow,
|
||||
.hc-light .eps-container .ep-properties-down-arrow {
|
||||
background-image: url(../images/actionIcons/downArrow.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -708,7 +736,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.eps-container .ep-properties-up-arrow {
|
||||
.eps-container .ep-properties-up-arrow,
|
||||
.hc-light .eps-container .ep-properties-up-arrow {
|
||||
background-image: url(../images/actionIcons/upArrow.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -727,7 +756,8 @@ However we always want it to be the width of the container it is resizing.
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.eps-container .ep-top-operations {
|
||||
.eps-container .ep-top-operations,
|
||||
.hc-light .eps-container .ep-top-operations {
|
||||
background-image: url(../images/actionIcons/topOperations.svg);
|
||||
background-size: 16px 16px;
|
||||
background-position: center;
|
||||
@@ -851,7 +881,6 @@ However we always want it to be the width of the container it is resizing.
|
||||
height: fit-content;
|
||||
}
|
||||
|
||||
|
||||
.eps-container .comparison-editor .plan-comparison-container .split-view-container .plan-container .plan-diagram {
|
||||
flex: 1;
|
||||
overflow: scroll;
|
||||
|
||||
@@ -46,6 +46,10 @@ notebookhistory-component .all-jobs {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.hc-light .overview-container .overview-tab {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.overview-container > .overview-tab {
|
||||
position: relative;
|
||||
margin-bottom: 1px;
|
||||
@@ -75,6 +79,11 @@ input#accordion{
|
||||
border: 1px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light .overview-container .overview-tab label {
|
||||
background: #ffffff;
|
||||
border: 1px solid #6fc3df;
|
||||
}
|
||||
|
||||
.overview-container .overview-tab label {
|
||||
position: relative;
|
||||
display: block;
|
||||
@@ -96,6 +105,12 @@ input#accordion{
|
||||
border: 1px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light .overview-tab .accordion-content,
|
||||
.grid-arrow {
|
||||
background: #ffffff;
|
||||
border: 1px solid #6fc3df;
|
||||
}
|
||||
|
||||
.overview-tab .accordion-content {
|
||||
max-height: 0;
|
||||
overflow: hidden;
|
||||
@@ -136,7 +151,8 @@ input#accordion:checked ~ .accordion-content,
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.all-jobs > .back-button-icon {
|
||||
.all-jobs > .back-button-icon,
|
||||
.hc-light .all-jobs > .back-button-icon {
|
||||
content: url("back.svg");
|
||||
width: 20px;
|
||||
margin-right: 10px;
|
||||
@@ -151,7 +167,8 @@ input#accordion:checked ~ .accordion-content,
|
||||
content: url("back_inverse.svg");
|
||||
}
|
||||
|
||||
.vs .action-label.codicon.newStepIcon {
|
||||
.vs .action-label.codicon.newStepIcon,
|
||||
.hc-light .action-label.codicon.newStepIcon {
|
||||
background-image: url("new.svg");
|
||||
}
|
||||
|
||||
@@ -168,7 +185,9 @@ notebookhistory-component .vs-dark .codicon.edit {
|
||||
}
|
||||
|
||||
jobhistory-component .vs .codicon.edit,
|
||||
notebookhistory-component .vs .codicon.edit {
|
||||
jobhistory-component .hc-light .codicon.edit,
|
||||
notebookhistory-component .vs .codicon.edit,
|
||||
notebookhistory-component .hc-light .codicon.edit {
|
||||
background-image: url("edit.svg");
|
||||
}
|
||||
|
||||
@@ -231,6 +250,10 @@ table.step-list tr.step-row td {
|
||||
border-left: 3px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light .history-details > .job-steps {
|
||||
border-left: 3px solid #6fc3df;
|
||||
}
|
||||
|
||||
.history-details > .job-steps > table.step-list {
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
@@ -331,6 +354,11 @@ notebookhistory-component > .agent-actionbar-container {
|
||||
border-top: 3px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light jobhistory-component > .agent-actionbar-container,
|
||||
.hc-light notebookhistory-component > .agent-actionbar-container {
|
||||
border-top: 3px solid #6fc3df;
|
||||
}
|
||||
|
||||
jobhistory-component
|
||||
.step-table.prev-run-list
|
||||
.monaco-tree-wrapper
|
||||
@@ -374,7 +402,8 @@ notebookhistory-component
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.notebook-grid-item:hover {
|
||||
.notebook-grid-item:hover,
|
||||
.hc-light .notebook-grid-item:hover {
|
||||
background: #dcdcdc !important;
|
||||
}
|
||||
|
||||
@@ -396,6 +425,11 @@ notebookhistory-component
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.hc-light .notebook-grid-item > .img-success {
|
||||
background-image: url(./NotebookSuccess_16x.svg);
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.vs-dark .notebook-grid-item > .img-success,
|
||||
.hc-black .notebook-grid-item > .img-success {
|
||||
background-image: url(./NotebookSuccess_16x_white.svg);
|
||||
@@ -415,6 +449,11 @@ notebookhistory-component
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.hc-light .notebook-grid-item > .img-failure {
|
||||
background-image: url(./NotebookFail_16x.svg);
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.vs-dark .notebook-grid-item > .img-failure,
|
||||
.hc-black .notebook-grid-item > .img-failure {
|
||||
background-image: url(./NotebookFail_16x_white.svg);
|
||||
@@ -435,6 +474,11 @@ notebookhistory-component
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.hc-light .notebook-grid-item > .img-error {
|
||||
background-image: url(./NotebookError_16x.svg);
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.vs-dark .notebook-grid-item > .img-error,
|
||||
.hc-black .notebook-grid-item > .img-error {
|
||||
background-image: url(./NotebookError_16x_white.svg);
|
||||
@@ -475,3 +519,8 @@ notebookhistory-component
|
||||
background: #000000;
|
||||
border: 1px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light .grid-title {
|
||||
background: #ffffff;
|
||||
border: 1px solid #6fc3df;
|
||||
}
|
||||
|
||||
@@ -70,7 +70,8 @@
|
||||
content: url("step_inverse.svg");
|
||||
}
|
||||
|
||||
.steps-header > .steps-icon {
|
||||
.steps-header > .steps-icon,
|
||||
.hc-light .steps-header > .steps-icon {
|
||||
content: url("step.svg");
|
||||
}
|
||||
|
||||
@@ -100,6 +101,13 @@ jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.hc-light jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row,
|
||||
.hc-light jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row.focused,
|
||||
.hc-light jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row.selected,
|
||||
.hc-light jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row.focused.selected {
|
||||
background: #ffffff !important;
|
||||
}
|
||||
|
||||
jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row,
|
||||
jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row.focused,
|
||||
jobstepsview-component .steps-tree .monaco-tree-wrapper .monaco-tree-row.step-column-row.selected,
|
||||
|
||||
@@ -30,6 +30,10 @@ notebooksview-component {
|
||||
border-bottom: 3px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light .job-heading-container {
|
||||
border-bottom: 3px solid #6fc3df;
|
||||
}
|
||||
|
||||
.jobview-grid {
|
||||
height: calc(100% - 75px);
|
||||
width: 100%;
|
||||
@@ -69,6 +73,23 @@ notebooksview-component {
|
||||
border: 1px solid #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light
|
||||
#jobsDiv
|
||||
jobsview-component
|
||||
.jobview-grid
|
||||
.grid-canvas
|
||||
.ui-widget-content.slick-row
|
||||
.slick-cell,
|
||||
.hc-light
|
||||
#notebooksDiv
|
||||
notebooksview-component
|
||||
.jobnotebooksview-grid
|
||||
.grid-canvas
|
||||
.ui-widget-content.slick-row
|
||||
.slick-cell {
|
||||
border: 1px solid #6fc3df;
|
||||
}
|
||||
|
||||
#jobsDiv
|
||||
jobsview-component
|
||||
.jobview-grid
|
||||
@@ -268,7 +289,8 @@ notebooksview-component {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.jobsview-icon {
|
||||
.jobsview-icon,
|
||||
.hc-light .jobsview-icon {
|
||||
background-image: url("./job.svg");
|
||||
}
|
||||
|
||||
@@ -277,7 +299,8 @@ notebooksview-component {
|
||||
background-image: url("./job_inverse.svg");
|
||||
}
|
||||
|
||||
.notebooksview-icon {
|
||||
.notebooksview-icon,
|
||||
.hc-light .notebooksview-icon {
|
||||
background-image: url("./notebook.svg");
|
||||
}
|
||||
|
||||
@@ -286,7 +309,8 @@ notebooksview-component {
|
||||
background-image: url("./notebook_inverse.svg");
|
||||
}
|
||||
|
||||
.alertsview-icon {
|
||||
.alertsview-icon,
|
||||
.hc-light .alertsview-icon {
|
||||
background-image: url("./alert.svg");
|
||||
}
|
||||
|
||||
@@ -295,7 +319,8 @@ notebooksview-component {
|
||||
background-image: url("./alert_inverse.svg");
|
||||
}
|
||||
|
||||
.proxiesview-icon {
|
||||
.proxiesview-icon,
|
||||
.hc-light .proxiesview-icon {
|
||||
background-image: url("./proxy.svg");
|
||||
}
|
||||
|
||||
@@ -304,7 +329,8 @@ notebooksview-component {
|
||||
background-image: url("./proxy_inverse.svg");
|
||||
}
|
||||
|
||||
.operatorsview-icon {
|
||||
.operatorsview-icon,
|
||||
.hc-light .operatorsview-icon {
|
||||
background-image: url("./operator.svg");
|
||||
}
|
||||
|
||||
@@ -342,6 +368,14 @@ agentview-component
|
||||
border-left: 1px dotted #2b56f2;
|
||||
}
|
||||
|
||||
.hc-light
|
||||
.jobview-grid
|
||||
> .monaco-table
|
||||
.slick-header-columns
|
||||
.slick-resizable-handle {
|
||||
border-left: 1px dotted #6fc3df;
|
||||
}
|
||||
|
||||
.jobview-grid > .monaco-table .slick-header-columns .slick-resizable-handle {
|
||||
border-left: 1px dotted #444444;
|
||||
}
|
||||
@@ -519,6 +553,57 @@ agentview-component
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.hc-light
|
||||
#jobsDiv
|
||||
.jobview-grid
|
||||
> .monaco-table
|
||||
.slick-viewport
|
||||
> .grid-canvas
|
||||
> .ui-widget-content.slick-row:hover
|
||||
> .slick-cell,
|
||||
.hc-light
|
||||
#jobsDiv
|
||||
.jobview-grid
|
||||
> .monaco-table
|
||||
.slick-viewport
|
||||
> .grid-canvas
|
||||
> .ui-widget-content.slick-row
|
||||
> .slick-cell.hovered,
|
||||
.hc-light
|
||||
#jobsDiv
|
||||
.jobview-grid
|
||||
> .monaco-table
|
||||
.slick-viewport
|
||||
> .grid-canvas
|
||||
> .ui-widget-content.slick-row.hovered
|
||||
> .slick-cell,
|
||||
.hc-light
|
||||
#notebooksDiv
|
||||
.jobnotebooksview-grid
|
||||
> .monaco-table
|
||||
.slick-viewport
|
||||
> .grid-canvas
|
||||
> .ui-widget-content.slick-row:hover
|
||||
> .slick-cell,
|
||||
.hc-light
|
||||
#notebooksDiv
|
||||
.jobnotebooksview-grid
|
||||
> .monaco-table
|
||||
.slick-viewport
|
||||
> .grid-canvas
|
||||
> .ui-widget-content.slick-row
|
||||
> .slick-cell.hovered,
|
||||
.hc-light
|
||||
#notebooksDiv
|
||||
.jobnotebooksview-grid
|
||||
> .monaco-table
|
||||
.slick-viewport
|
||||
> .grid-canvas
|
||||
> .ui-widget-content.slick-row.hovered
|
||||
> .slick-cell {
|
||||
background: #fff !important;
|
||||
}
|
||||
|
||||
table.jobprevruns div.bar,
|
||||
table.jobprevruns div.bar0,
|
||||
table.jobprevruns div.bar1,
|
||||
@@ -574,7 +659,8 @@ table.jobprevruns > tbody {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.vs .action-label.codicon.refreshIcon {
|
||||
.vs .action-label.codicon.refreshIcon,
|
||||
.hc-light .action-label.codicon.refreshIcon {
|
||||
background-image: url("refresh.svg");
|
||||
}
|
||||
|
||||
@@ -583,7 +669,8 @@ table.jobprevruns > tbody {
|
||||
background-image: url("refresh_inverse.svg");
|
||||
}
|
||||
|
||||
.vs .action-label.codicon.openNotebook {
|
||||
.vs .action-label.codicon.openNotebook,
|
||||
.hc-light .action-label.codicon.openNotebook {
|
||||
background-image: url("open_notebook.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ cell-toolbar-component .carbon-taskbar.monaco-toolbar .monaco-action-bar ul.acti
|
||||
cell-toolbar-component .codicon.masked-icon,
|
||||
.vs cell-toolbar-component .codicon.masked-icon,
|
||||
.vs-dark cell-toolbar-component .codicon.masked-icon,
|
||||
.hc-black cell-toolbar-component .codicon.masked-icon {
|
||||
.hc-black cell-toolbar-component .codicon.masked-icon,
|
||||
.hc-light cell-toolbar-component .codicon.masked-icon {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,8 @@ code-component .toolbar .carbon-taskbar.monaco-toolbar .monaco-action-bar .codic
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.notebook-cell:not(.active):hover code-component .toolbarIconRun {
|
||||
.notebook-cell:not(.active):hover code-component .toolbarIconRun,
|
||||
.hc-light .notebook-cell:not(.active):hover code-component .toolbarIconRun {
|
||||
background-image: url('./media/execute_cell_grey.svg');
|
||||
}
|
||||
.vs-dark .notebook-cell:not(.active):hover code-component .toolbarIconRun {
|
||||
|
||||
@@ -89,6 +89,18 @@
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.hc-light .notebook-preview .showEditorSelection .code-active-line:before {
|
||||
border-left: 3px solid rgba(111, 195, 223, 0.4);
|
||||
}
|
||||
|
||||
.hc-light .notebook-preview .showEditorSelection .code-line:hover:before {
|
||||
border-left: 3px solid rgba(111, 195, 223, 0.60);
|
||||
}
|
||||
|
||||
.hc-light .notebook-preview .showEditorSelection .code-line .code-line:hover:before {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
.notebook-preview img {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
@@ -209,6 +221,14 @@
|
||||
border-color: rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
.hc-light .notebook-preview pre {
|
||||
background-color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.hc-light .notebook-preview h1 {
|
||||
border-color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.notebook-preview table > thead > tr > th {
|
||||
border-color: rgba(0, 0, 0, 0.69);
|
||||
}
|
||||
|
||||
@@ -107,7 +107,8 @@
|
||||
}
|
||||
|
||||
/* non-preview */
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-add {
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-add,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-add {
|
||||
background-image: url("./media/light/add.svg");
|
||||
}
|
||||
|
||||
@@ -116,7 +117,8 @@
|
||||
background-image: url("./media/dark/add_inverse.svg");
|
||||
}
|
||||
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-run-cells {
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-run-cells,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-run-cells {
|
||||
background-image: url("./media/light/run_cells.svg");
|
||||
}
|
||||
|
||||
@@ -125,7 +127,8 @@
|
||||
background-image: url("./media/dark/run_cells_inverse.svg");
|
||||
}
|
||||
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-trusted {
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-trusted,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-trusted {
|
||||
background-image: url("./media/light/trusted.svg");
|
||||
}
|
||||
|
||||
@@ -133,7 +136,9 @@
|
||||
.hc-black .notebookEditor :not(.in-preview) .codicon.icon-trusted {
|
||||
background-image: url("./media/dark/trusted_inverse.svg");
|
||||
}
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-notTrusted {
|
||||
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-notTrusted,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-notTrusted {
|
||||
background-image: url("./media/light/nottrusted.svg");
|
||||
}
|
||||
|
||||
@@ -142,7 +147,8 @@
|
||||
background-image: url("./media/dark/nottrusted_inverse.svg");
|
||||
}
|
||||
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-show-cells {
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-show-cells,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-show-cells {
|
||||
background-image: url("./media/light/show_code.svg");
|
||||
}
|
||||
|
||||
@@ -151,7 +157,8 @@
|
||||
background-image: url("./media/dark/show_code_inverse.svg");
|
||||
}
|
||||
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-hide-cells {
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-hide-cells,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-hide-cells {
|
||||
background-image: url("./media/light/hide_code.svg");
|
||||
}
|
||||
|
||||
@@ -160,7 +167,8 @@
|
||||
background-image: url("./media/dark/hide_code_inverse.svg");
|
||||
}
|
||||
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-clear-results {
|
||||
.notebookEditor :not(.in-preview) .codicon.icon-clear-results,
|
||||
.hc-light .notebookEditor :not(.in-preview) .codicon.icon-clear-results {
|
||||
background-image: url("./media/light/clear_results.svg");
|
||||
}
|
||||
|
||||
@@ -170,6 +178,7 @@
|
||||
}
|
||||
|
||||
.notebookEditor .in-preview .codicon.masked-icon,
|
||||
.hc-light .nodebookEditor .in-preview .codicon.masked-icon,
|
||||
.vs-dark .notebookEditor .in-preview .codicon.icon-clear-results,
|
||||
.hc-black .notebookEditor .in-preview .codicon.icon-clear-results {
|
||||
background-image: none;
|
||||
@@ -215,7 +224,8 @@
|
||||
min-height: 39px;
|
||||
}
|
||||
|
||||
.monaco-workbench .notebook-action.new-notebook {
|
||||
.monaco-workbench .notebook-action.new-notebook,
|
||||
.monaco-workbench.hc-light .notebook-action.new-notebook {
|
||||
background: url("./media/light/new_notebook.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
|
||||
@@ -72,11 +72,13 @@ export function registerNotebookThemes(overrideEditorThemeSetting: boolean, conf
|
||||
const hcOutline = theme.getColor(contrastBorder);
|
||||
if (outline) {
|
||||
collector.addRule(`
|
||||
.hc-black .notebookEditor .notebook-cell:not(.active) code-component {
|
||||
.hc-black .notebookEditor .notebook-cell:not(.active) code-component,
|
||||
.hc-light .notebookEditor .notebook-cell:not(.active) code-component {
|
||||
border-color: ${hcOutline};
|
||||
border-width: 0px 0px 1px 0px;
|
||||
}
|
||||
.hc-black .notebookEditor .notebook-cell:not(.active) {
|
||||
.hc-black .notebookEditor .notebook-cell:not(.active),
|
||||
.hc-light .notebookEditor .notebook-cell:not(.active) {
|
||||
outline-color: ${hcOutline};
|
||||
outline-width: 1px;
|
||||
outline-style: solid;
|
||||
|
||||
@@ -48,7 +48,8 @@
|
||||
.nb-grid-stack .grid-stack-item .notebook-cell .actionbar .codicon.masked-icon,
|
||||
.vs .nb-grid-stack .grid-stack-item .notebook-cell .actionbar .codicon.masked-icon,
|
||||
.vs-dark .nb-grid-stack .grid-stack-item .notebook-cell .actionbar .codicon.masked-icon,
|
||||
.hc-black .nb-grid-stack .grid-stack-item .notebook-cell .actionbar .codicon.masked-icon {
|
||||
.hc-black .nb-grid-stack .grid-stack-item .notebook-cell .actionbar .codicon.masked-icon,
|
||||
.hc-light .nb-grid-stack .grid-stack-item .notebook-cell .actionbar .codicon.masked-icon {
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { OnInit, Component, Input, Inject, ViewChild, ElementRef, ChangeDetectorRef, forwardRef } from '@angular/core';
|
||||
import * as azdata from 'azdata';
|
||||
|
||||
import { IGridDataProvider, getResultsString, getTableHeaderString } from 'sql/workbench/services/query/common/gridDataProvider';
|
||||
import { IGridDataProvider, getResultsString } from 'sql/workbench/services/query/common/gridDataProvider';
|
||||
import { IContextMenuService, IContextViewService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
@@ -410,16 +410,7 @@ export class DataResourceDataProvider implements IGridDataProvider {
|
||||
let results = await getResultsString(this, selection, includeHeaders, tableView);
|
||||
this._clipboardService.writeText(results);
|
||||
} catch (error) {
|
||||
this._notificationService.error(localize('copyFailed', "Copy failed with error: {0}", getErrorMessage(error)));
|
||||
}
|
||||
}
|
||||
|
||||
async copyHeaders(selection: Slick.Range[]): Promise<void> {
|
||||
try {
|
||||
const results = getTableHeaderString(this, selection);
|
||||
await this._clipboardService.writeText(results);
|
||||
} catch (error) {
|
||||
this._notificationService.error(localize('copyFailed', "Copy failed with error: {0}", getErrorMessage(error)));
|
||||
this._notificationService.error(localize('copyFailed', "Copy failed with error {0}", getErrorMessage(error)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/* Icons for various registered servers actions */
|
||||
.monaco-workbench .actions-container .action-label.add-server-action {
|
||||
.monaco-workbench .actions-container .action-label.add-server-action,
|
||||
.monaco-workbench.hc-light .actions-container .action-label.add-server-action {
|
||||
background-image: url('add_server.svg') !important;
|
||||
}
|
||||
|
||||
@@ -13,7 +14,8 @@
|
||||
background-image: url('add_server_inverse.svg') !important;
|
||||
}
|
||||
|
||||
.monaco-workbench .dataExplorer-viewlet .actions-container .action-label.add-server-group-action {
|
||||
.monaco-workbench .dataExplorer-viewlet .actions-container .action-label.add-server-group-action,
|
||||
.monaco-workbench.hc-light .dataExplorer-viewlet .actions-container .action-label.add-server-group-action {
|
||||
background-image: url('new_servergroup.svg') !important;
|
||||
}
|
||||
|
||||
@@ -22,7 +24,8 @@
|
||||
background-image: url('new_servergroup_inverse.svg') !important;
|
||||
}
|
||||
|
||||
.monaco-workbench .actions-container .action-label.active-connections-action {
|
||||
.monaco-workbench .actions-container .action-label.active-connections-action,
|
||||
.monaco-workbench.hc-light .actions-container .action-label.active-connections-action {
|
||||
background-image: url('connected_active_server.svg') !important;
|
||||
}
|
||||
|
||||
@@ -31,7 +34,8 @@
|
||||
background-image: url('connected_active_server_inverse.svg') !important;
|
||||
}
|
||||
|
||||
.monaco-workbench .actions-container .action-label.server-page {
|
||||
.monaco-workbench .actions-container .action-label.server-page,
|
||||
.monaco-workbench.hc-light .actions-container .action-label.server-page {
|
||||
background-image: url('server_page.svg') !important;
|
||||
}
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
|
||||
import { IStorageService } from 'vs/platform/storage/common/storage';
|
||||
import { getChartMaxRowCount, notifyMaxRowCountExceeded } from 'sql/workbench/contrib/charts/browser/utils';
|
||||
import { IEncodingSupport } from 'vs/workbench/services/textfile/common/textfiles';
|
||||
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
|
||||
|
||||
export interface IGridActionContext {
|
||||
gridDataProvider: IGridDataProvider;
|
||||
@@ -126,13 +127,19 @@ export class CopyHeadersAction extends Action {
|
||||
private static ID = 'grid.copyHeaders';
|
||||
private static LABEL = localize('copyHeaders', 'Copy Headers');
|
||||
|
||||
constructor() {
|
||||
constructor(
|
||||
@IClipboardService private clipboardService: IClipboardService
|
||||
) {
|
||||
super(CopyHeadersAction.ID, CopyHeadersAction.LABEL);
|
||||
}
|
||||
|
||||
public override async run(context: IGridActionContext): Promise<void> {
|
||||
const selection = mapForNumberColumn(context.selection);
|
||||
await context.gridDataProvider.copyHeaders(selection);
|
||||
// Starting at index 1 to ignore the first column of row numbers
|
||||
const columnHeaders = context.table.columns.slice(1, context.table.columns.length)
|
||||
.map(c => c.name ? c.name : '')
|
||||
.join(',');
|
||||
|
||||
await this.clipboardService.writeText(columnHeaders);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.vs .footer-button .validating {
|
||||
.vs .footer-button .validating,
|
||||
.hc-light .footer-button .validating {
|
||||
background-image: url("loading.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,13 @@
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-container {
|
||||
border-right-color: #6fc3df;
|
||||
border-right-style: solid;
|
||||
border-right-width: 1px;
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.wizardNavigation-pageNumber {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
@@ -51,6 +58,14 @@
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot {
|
||||
flex-grow: 1;
|
||||
background-color: unset;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
.wizardNavigation-connector {
|
||||
width: 3px;
|
||||
display: inline-block;
|
||||
@@ -62,6 +77,10 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-connector {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wizardNavigation-connector.active,
|
||||
.wizardNavigation-dot.active {
|
||||
background-color: rgb(9, 109, 201);
|
||||
@@ -73,16 +92,33 @@
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot.active {
|
||||
border-color: #6fc3df;
|
||||
background-color: unset;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.hc-black .wizardNavigation-dot.active:hover,
|
||||
.hc-black .wizardNavigation-dot.active.currentPage:hover {
|
||||
border-color: #F38518;
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot.active:hover,
|
||||
.hc-light .wizardNavigation-dot.active.currentPage:hover {
|
||||
border-color: #0F4A85;
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
.wizardNavigation-dot.active.currentPage {
|
||||
border-style: double;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot.active.currentPage {
|
||||
border-style: solid;
|
||||
border-color: #0F4A85;
|
||||
}
|
||||
|
||||
.hc-black .wizardNavigation-dot.active.currentPage {
|
||||
border-style: solid;
|
||||
border-color: #F38518;
|
||||
@@ -90,4 +126,4 @@
|
||||
|
||||
.wizardNavigation-connector.invisible {
|
||||
visibility: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,8 @@
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.vs .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.not-started {
|
||||
.vs .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.not-started,
|
||||
.hc-light .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.not-started {
|
||||
background-image: url('status_queuedtask.svg');
|
||||
}
|
||||
|
||||
@@ -59,7 +60,8 @@
|
||||
background-image: url('status_queuedtask_inverse.svg');
|
||||
}
|
||||
|
||||
.vs .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.in-progress {
|
||||
.vs .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.in-progress,
|
||||
.hc-light .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.in-progress {
|
||||
background-image: url("loading.svg");
|
||||
}
|
||||
|
||||
@@ -68,14 +70,17 @@
|
||||
background-image: url("loading_inverse.svg");
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.success {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.success,
|
||||
.hc-light .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.success {
|
||||
background-image: url("status_success.svg");
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.canceled {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.canceled,
|
||||
.hc-light .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.canceled {
|
||||
background-image: url("status_cancelled.svg");
|
||||
}
|
||||
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.error {
|
||||
.monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.error,
|
||||
.hc-light .monaco-tree .monaco-tree-rows > .monaco-tree-row > .content > .task-group > .task-icon.error {
|
||||
background-image: url("error.svg");
|
||||
}
|
||||
|
||||
@@ -808,7 +808,8 @@ class TreeRenderer extends Disposable implements ITreeRenderer<ITreeItem, FuzzyS
|
||||
}
|
||||
return ({ start, end });
|
||||
}) : undefined;
|
||||
const icon = this.themeService.getColorTheme().type === ColorScheme.LIGHT ? node.icon : node.iconDark;
|
||||
const isLightTheme = [ColorScheme.LIGHT, ColorScheme.HIGH_CONTRAST_LIGHT].includes(this.themeService.getColorTheme().type);
|
||||
const icon = isLightTheme ? node.icon : node.iconDark;
|
||||
const iconUrl = icon ? URI.revive(icon) : null;
|
||||
const title = node.tooltip ? isString(node.tooltip) ? node.tooltip : undefined : resource ? undefined : label;
|
||||
const sqlIcon = node.sqlIcon;
|
||||
@@ -916,7 +917,8 @@ class Aligner extends Disposable {
|
||||
}
|
||||
|
||||
private hasIcon(node: ITreeItem): boolean {
|
||||
const icon = this.themeService.getColorTheme().type === ColorScheme.LIGHT ? node.icon : node.iconDark;
|
||||
const isLightTheme = [ColorScheme.LIGHT, ColorScheme.HIGH_CONTRAST_LIGHT].includes(this.themeService.getColorTheme().type);
|
||||
const icon = isLightTheme ? node.icon : node.iconDark;
|
||||
if (icon) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,10 @@
|
||||
|
||||
.hc-black .monaco-workbench.blur-background #workbench\.parts\.editor,
|
||||
.hc-black .monaco-workbench.blur-background #workbench\.parts\.panel,
|
||||
.hc-black .monaco-workbench.blur-background #workbench\.parts\.sidebar {
|
||||
.hc-black .monaco-workbench.blur-background #workbench\.parts\.sidebar,
|
||||
.hc-light .monaco-workbench.blur-background #workbench\.parts\.editor,
|
||||
.hc-light .monaco-workbench.blur-background #workbench\.parts\.panel,
|
||||
.hc-light .monaco-workbench.blur-background #workbench\.parts\.sidebar {
|
||||
opacity: .2;
|
||||
}
|
||||
|
||||
|
||||
@@ -83,6 +83,7 @@
|
||||
|
||||
.vs-dark .connection-dialog .connection-history-actions .action-label.codicon,
|
||||
.hc-black .connection-dialog .connection-history-actions .action-label.codicon,
|
||||
.hc-light .connection-dialog .connection-history-actions .action-label.codicon,
|
||||
.connection-dialog .connection-history-actions .action-label.codicon {
|
||||
display: block;
|
||||
height: 20px;
|
||||
@@ -95,7 +96,8 @@
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.search-action.clear-search-results {
|
||||
.search-action.clear-search-results,
|
||||
.hc-light .search-action.clear-search-results {
|
||||
background: url('clear-search-results.svg');
|
||||
}
|
||||
|
||||
@@ -112,6 +114,7 @@
|
||||
}
|
||||
|
||||
.custom-connection-options .connection-label .dialog-label-container,
|
||||
.hc-light .custom-connection-options .connection-label .dialog-label-container,
|
||||
.vs-dark .custom-connection-options .connection-label .dialog-label-container,
|
||||
.hc-black .custom-connection-options .connection-label .dialog-label-container {
|
||||
background-size: 9px;
|
||||
@@ -122,7 +125,8 @@
|
||||
}
|
||||
|
||||
.dialog-label-container.info-icon,
|
||||
.vs .dialog-label-container.info-icon {
|
||||
.vs .dialog-label-container.info-icon,
|
||||
.hc-light .dialog-label-container.info-icon {
|
||||
background-image: url("info.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -45,7 +45,8 @@
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.vs .footer-button .validating {
|
||||
.vs .footer-button .validating,
|
||||
.hc-light .footer-button .validating {
|
||||
background-image: url("loading.svg");
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,13 @@
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-container {
|
||||
border-right-color: rgb(111, 195, 223);
|
||||
border-right-style: solid;
|
||||
border-right-width: 1px;
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
.wizardNavigation-pageNumber {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
@@ -52,6 +59,13 @@
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot {
|
||||
flex-grow: 1;
|
||||
border-style: solid;
|
||||
border-width: 1px;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.wizardNavigation-connector {
|
||||
width: 3px;
|
||||
display: inline-block;
|
||||
@@ -60,7 +74,16 @@
|
||||
}
|
||||
|
||||
.hc-black .wizardNavigation-connector {
|
||||
display: none;
|
||||
width: 3px;
|
||||
display: inline-block;
|
||||
flex-grow: 1;
|
||||
background-color: rgb(200, 200, 200);
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-connector {
|
||||
width: 3px;
|
||||
display: inline-block;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.wizardNavigation-connector.active,
|
||||
@@ -74,12 +97,23 @@
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot.active {
|
||||
background-color: unset;
|
||||
border-style: solid;
|
||||
}
|
||||
|
||||
.hc-black .wizardNavigation-dot.active:hover,
|
||||
.hc-black .wizardNavigation-dot.active.currentPage:hover {
|
||||
border-color: #F38518;
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot.active:hover,
|
||||
.hc-light .wizardNavigation-dot.active.currentPage:hover {
|
||||
border-color: #0F4A85;
|
||||
border-style: dashed;
|
||||
}
|
||||
|
||||
.wizardNavigation-dot.active.currentPage {
|
||||
border-style: double;
|
||||
}
|
||||
@@ -89,6 +123,11 @@
|
||||
border-color: #F38518;
|
||||
}
|
||||
|
||||
.hc-light .wizardNavigation-dot.active.currentPage {
|
||||
border-style: solid;
|
||||
border-color: #0F4A85;
|
||||
}
|
||||
|
||||
.wizardNavigation-connector.invisible {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ class IconRenderer {
|
||||
const iconPath: ThemedIconUri = this.toThemedIconUri(path);
|
||||
const iconUid: string | undefined = this.getIconUid(iconPath);
|
||||
if (iconUid && !this.iconRegistered.has(iconUid)) {
|
||||
createCSSRule(`.icon#${iconUid}`, `background: ${asCSSUrl(iconPath.light || iconPath.dark)} center center no-repeat`);
|
||||
createCSSRule(`.icon#${iconUid}, .hc-light .icon#${iconUid}`, `background: ${asCSSUrl(iconPath.light || iconPath.dark)} center center no-repeat`);
|
||||
createCSSRule(`.vs-dark .icon#${iconUid}, .hc-black .icon#${iconUid}`, `background: ${asCSSUrl(iconPath.dark)} center center no-repeat`);
|
||||
this.iconRegistered.add(iconUid);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
.vs .icon.table,
|
||||
.hc-light .icon.table,
|
||||
.vs-dark .icon.table,
|
||||
.hc-black .icon.table,
|
||||
.vs .codicon.table,
|
||||
@@ -13,675 +14,791 @@
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunction,
|
||||
.hc-light .icon.aggregatefunction,
|
||||
.vs-dark .icon.aggregatefunction,
|
||||
.hc-black .icon.aggregatefunction {
|
||||
background: url("AggregateFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunctionparameter_input,
|
||||
.hc-light .icon.aggregatefunctionparameter_input,
|
||||
.vs-dark .icon.aggregatefunctionparameter_input,
|
||||
.hc-black .icon.aggregatefunctionparameter_input {
|
||||
background: url("AggregateFunctionParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunctionparameter_output,
|
||||
.hc-light .icon.aggregatefunctionparameter_output,
|
||||
.vs-dark .icon.aggregatefunctionparameter_output,
|
||||
.hc-black .icon.aggregatefunctionparameter_output {
|
||||
background: url("AggregateFunctionParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.aggregatefunctionparameter_return,
|
||||
.hc-light .icon.aggregatefunctionparameter_return,
|
||||
.vs-dark .icon.aggregatefunctionparameter_return,
|
||||
.hc-black .icon.aggregatefunctionparameter_return {
|
||||
background: url("AggregateFunctionParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.applicationrole,
|
||||
.hc-light .icon.applicationrole,
|
||||
.vs-dark .icon.applicationrole,
|
||||
.hc-black .icon.applicationrole {
|
||||
background: url("ApplicationRole.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.assembly,
|
||||
.hc-light .icon.assembly,
|
||||
.vs-dark .icon.assembly,
|
||||
.hc-black .icon.assembly {
|
||||
background: url("Assembly.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.asymmetrickey,
|
||||
.hc-light .icon.asymmetrickey,
|
||||
.vs-dark .icon.asymmetrickey,
|
||||
.hc-black .icon.asymmetrickey {
|
||||
background: url("AsymmetricKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.brokerpriority,
|
||||
.hc-light .icon.brokerpriority,
|
||||
.vs-dark .icon.brokerpriority,
|
||||
.hc-black .icon.brokerpriority {
|
||||
background: url("BrokerPriority.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.certificate,
|
||||
.hc-light .icon.certificate,
|
||||
.vs-dark .icon.certificate,
|
||||
.hc-black .icon.certificate {
|
||||
background: url("Certificate.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.column,
|
||||
.hc-light .icon.column,
|
||||
.vs-dark .icon.column,
|
||||
.hc-black .icon.column {
|
||||
background: url("Column.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.columnencryptionkey,
|
||||
.hc-light .icon.columnencryptionkey,
|
||||
.vs-dark .icon.columnencryptionkey,
|
||||
.hc-black .icon.columnencryptionkey {
|
||||
background: url("ColumnEncryptionKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.columnmasterkey,
|
||||
.hc-light .icon.columnmasterkey,
|
||||
.vs-dark .icon.columnmasterkey,
|
||||
.hc-black .icon.columnmasterkey {
|
||||
background: url("ColumnMasterKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.constraint,
|
||||
.hc-light .icon.constraint,
|
||||
.vs-dark .icon.constraint,
|
||||
.hc-black .icon.constraint {
|
||||
background: url("Constraint.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.contract,
|
||||
.hc-light .icon.contract,
|
||||
.vs-dark .icon.contract,
|
||||
.hc-black .icon.contract {
|
||||
background: url("Contract.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.database,
|
||||
.hc-light .icon.database,
|
||||
.vs-dark .icon.database,
|
||||
.hc-black .icon.database {
|
||||
background: url("Database.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.database_ledger,
|
||||
.hc-light .icon.database_ledger,
|
||||
.vs-dark .icon.database_ledger,
|
||||
.hc-black .icon.database_ledger {
|
||||
background: url("Database_Ledger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.database_unavailable,
|
||||
.hc-light .icon.database_unavailable,
|
||||
.vs-dark .icon.database_unavailable,
|
||||
.hc-black .icon.database_unavailable {
|
||||
background: url("Database_Unavailable.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaseandqueueeventnotification,
|
||||
.hc-light .icon.databaseandqueueeventnotification,
|
||||
.vs-dark .icon.databaseandqueueeventnotification,
|
||||
.hc-black .icon.databaseandqueueeventnotification {
|
||||
background: url("DatabaseAndQueueEventNotification.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaseauditspecification,
|
||||
.hc-light .icon.databaseauditspecification,
|
||||
.vs-dark .icon.databaseauditspecification,
|
||||
.hc-black .icon.databaseauditspecification {
|
||||
background: url("DatabaseAuditSpecification.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaseencryptionkey,
|
||||
.hc-light .icon.databaseencryptionkey,
|
||||
.vs-dark .icon.databaseencryptionkey,
|
||||
.hc-black .icon.databaseencryptionkey {
|
||||
background: url("DatabaseEncryptionKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databaserole,
|
||||
.hc-light .icon.databaserole,
|
||||
.vs-dark .icon.databaserole,
|
||||
.hc-black .icon.databaserole {
|
||||
background: url("DatabaseRole.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databasescopedcredential,
|
||||
.hc-light .icon.databasescopedcredential,
|
||||
.vs-dark .icon.databasescopedcredential,
|
||||
.hc-black .icon.databasescopedcredential {
|
||||
background: url("DatabaseScopedCredential.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.databasetrigger,
|
||||
.hc-light .icon.databasetrigger,
|
||||
.vs-dark .icon.databasetrigger,
|
||||
.hc-black .icon.databasetrigger {
|
||||
background: url("DatabaseTrigger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.defaulticon,
|
||||
.hc-light .icon.defaulticon,
|
||||
.vs-dark .icon.defaulticon,
|
||||
.hc-black .icon.defaulticon,
|
||||
.vs .icon.filegroup,
|
||||
.hc-light .icon.filegroup,
|
||||
.vs-dark .icon.filegroup,
|
||||
.hc-black .icon.filegroup,
|
||||
.vs .icon.historytable,
|
||||
.hc-light .icon.historytable,
|
||||
.vs-dark .icon.historytable,
|
||||
.hc-black .icon.historytable {
|
||||
background: url("DefaultIcon.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.externaldatasource,
|
||||
.hc-light .icon.externaldatasource,
|
||||
.vs-dark .icon.externaldatasource,
|
||||
.hc-black .icon.externaldatasource {
|
||||
background: url("ExternalDataSource.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.externalfileformat,
|
||||
.hc-light .icon.externalfileformat,
|
||||
.vs-dark .icon.externalfileformat,
|
||||
.hc-black .icon.externalfileformat {
|
||||
background: url("ExternalFileFormat.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.filegroupfile,
|
||||
.hc-light .icon.filegroupfile,
|
||||
.vs-dark .icon.filegroupfile,
|
||||
.hc-black .icon.filegroupfile {
|
||||
background: url("FileGroupFile.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.filegroupfile_mounted,
|
||||
.hc-light .icon.filegroupfile_mounted,
|
||||
.vs-dark .icon.filegroupfile_mounted,
|
||||
.hc-black .icon.filegroupfile_mounted {
|
||||
background: url("FileGroupFile_mounted.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.folder,
|
||||
.hc-light .icon.folder,
|
||||
.vs-dark .icon.folder,
|
||||
.hc-black .icon.folder {
|
||||
background: url("Folder.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.folder_mounted,
|
||||
.hc-light .icon.folder_mounted,
|
||||
.vs-dark .icon.folder_mounted,
|
||||
.hc-black .icon.folder_mounted {
|
||||
background: url("Folder_mounted.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.fulltextcatalog,
|
||||
.hc-light .icon.fulltextcatalog,
|
||||
.vs-dark .icon.fulltextcatalog,
|
||||
.hc-black .icon.fulltextcatalog {
|
||||
background: url("FullTextCatalog.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.fulltextstoplist,
|
||||
.hc-light .icon.fulltextstoplist,
|
||||
.vs-dark .icon.fulltextstoplist,
|
||||
.hc-black .icon.fulltextstoplist {
|
||||
background: url("FullTextStopList.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.index,
|
||||
.hc-light .icon.index,
|
||||
.vs-dark .icon.index,
|
||||
.hc-black .icon.index {
|
||||
background: url("Index.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.key_foreignkey,
|
||||
.hc-light .icon.key_foreignkey,
|
||||
.vs-dark .icon.key_foreignkey,
|
||||
.hc-black .icon.key_foreignkey {
|
||||
background: url("Key_ForeignKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.key_primarykey,
|
||||
.hc-light .icon.key_primarykey,
|
||||
.vs-dark .icon.key_primarykey,
|
||||
.hc-black .icon.key_primarykey,
|
||||
.vs .icon.index_primarykey,
|
||||
.hc-light .icon.index_primarykey,
|
||||
.vs-dark .icon.index_primarykey,
|
||||
.hc-black .icon.index_primarykey {
|
||||
background: url("Key_PrimaryKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.key_uniquekey,
|
||||
.hc-light .icon.key_uniquekey,
|
||||
.vs-dark .icon.key_uniquekey,
|
||||
.hc-black .icon.key_uniquekey,
|
||||
.vs .icon.index_uniquekey,
|
||||
.hc-light .icon.index_uniquekey,
|
||||
.vs-dark .icon.index_uniquekey,
|
||||
.hc-black .icon.index_uniquekey {
|
||||
background: url("Key_UniqueKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.masterkey,
|
||||
.hc-light .icon.masterkey,
|
||||
.vs-dark .icon.masterkey,
|
||||
.hc-black .icon.masterkey {
|
||||
background: url("MasterKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.messagetype,
|
||||
.hc-light .icon.messagetype,
|
||||
.vs-dark .icon.messagetype,
|
||||
.hc-black .icon.messagetype {
|
||||
background: url("MessageType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.objecttypes.css,
|
||||
.hc-light .icon.objecttypes.css,
|
||||
.vs-dark .icon.objecttypes.css,
|
||||
.hc-black .icon.objecttypes.css {
|
||||
background: url("objecttypes.css") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.partitionfunction,
|
||||
.hc-light .icon.partitionfunction,
|
||||
.vs-dark .icon.partitionfunction,
|
||||
.hc-black .icon.partitionfunction {
|
||||
background: url("PartitionFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.partitionscheme,
|
||||
.hc-light .icon.partitionscheme,
|
||||
.vs-dark .icon.partitionscheme,
|
||||
.hc-black .icon.partitionscheme {
|
||||
background: url("PartitionScheme.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.queue,
|
||||
.hc-light .icon.queue,
|
||||
.vs-dark .icon.queue,
|
||||
.hc-black .icon.queue {
|
||||
background: url("Queue.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.remoteservicebinding,
|
||||
.hc-light .icon.remoteservicebinding,
|
||||
.vs-dark .icon.remoteservicebinding,
|
||||
.hc-black .icon.remoteservicebinding {
|
||||
background: url("RemoteServiceBinding.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.route,
|
||||
.hc-light .icon.route,
|
||||
.vs-dark .icon.route,
|
||||
.hc-black .icon.route {
|
||||
background: url("Route.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunction,
|
||||
.hc-light .icon.scalarvaluedfunction,
|
||||
.vs-dark .icon.scalarvaluedfunction,
|
||||
.hc-black .icon.scalarvaluedfunction {
|
||||
background: url("ScalarValuedFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunctionparameter_input,
|
||||
.hc-light .icon.scalarvaluedfunctionparameter_input,
|
||||
.vs-dark .icon.scalarvaluedfunctionparameter_input,
|
||||
.hc-black .icon.scalarvaluedfunctionparameter_input {
|
||||
background: url("ScalarValuedFunctionParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunctionparameter_output,
|
||||
.hc-light .icon.scalarvaluedfunctionparameter_output,
|
||||
.vs-dark .icon.scalarvaluedfunctionparameter_output,
|
||||
.hc-black .icon.scalarvaluedfunctionparameter_output {
|
||||
background: url("ScalarValuedFunctionParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.scalarvaluedfunctionparameter_return,
|
||||
.hc-light .icon.scalarvaluedfunctionparameter_return,
|
||||
.vs-dark .icon.scalarvaluedfunctionparameter_return,
|
||||
.hc-black .icon.scalarvaluedfunctionparameter_return {
|
||||
background: url("ScalarValuedFunctionParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.schema,
|
||||
.hc-light .icon.schema,
|
||||
.vs-dark .icon.schema,
|
||||
.hc-black .icon.schema {
|
||||
background: url("Schema.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.searchpropertylist,
|
||||
.hc-light .icon.searchpropertylist,
|
||||
.vs-dark .icon.searchpropertylist,
|
||||
.hc-black .icon.searchpropertylist {
|
||||
background: url("SearchPropertyList.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.securitypolicy,
|
||||
.hc-light .icon.securitypolicy,
|
||||
.vs-dark .icon.securitypolicy,
|
||||
.hc-black .icon.securitypolicy {
|
||||
background: url("SecurityPolicy.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.sequence,
|
||||
.hc-light .icon.sequence,
|
||||
.vs-dark .icon.sequence,
|
||||
.hc-black .icon.sequence {
|
||||
background: url("Sequence.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.server,
|
||||
.hc-light .icon.server,
|
||||
.vs-dark .icon.server,
|
||||
.hc-black .icon.server {
|
||||
background: url("Server.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelcredential,
|
||||
.hc-light .icon.serverlevelcredential,
|
||||
.vs-dark .icon.serverlevelcredential,
|
||||
.hc-black .icon.serverlevelcredential {
|
||||
background: url("ServerLevelCredential.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelcryptographicprovider,
|
||||
.hc-light .icon.serverlevelcryptographicprovider,
|
||||
.vs-dark .icon.serverlevelcryptographicprovider,
|
||||
.hc-black .icon.serverlevelcryptographicprovider {
|
||||
background: url("ServerLevelCryptographicProvider.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelendpoint,
|
||||
.hc-light .icon.serverlevelendpoint,
|
||||
.vs-dark .icon.serverlevelendpoint,
|
||||
.hc-black .icon.serverlevelendpoint {
|
||||
background: url("ServerLevelEndpoint.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellinkedserver,
|
||||
.hc-light .icon.serverlevellinkedserver,
|
||||
.vs-dark .icon.serverlevellinkedserver,
|
||||
.hc-black .icon.serverlevellinkedserver {
|
||||
background: url("ServerLevelLinkedServer.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellinkedserverlogin,
|
||||
.hc-light .icon.serverlevellinkedserverlogin,
|
||||
.vs-dark .icon.serverlevellinkedserverlogin,
|
||||
.hc-black .icon.serverlevellinkedserverlogin {
|
||||
background: url("ServerLevelLinkedServerLogin.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellinkedserverlogin_disabled,
|
||||
.hc-light .icon.serverlevellinkedserverlogin_disabled,
|
||||
.vs-dark .icon.serverlevellinkedserverlogin_disabled,
|
||||
.hc-black .icon.serverlevellinkedserverlogin_disabled {
|
||||
background: url("ServerLevelLinkedServerLogin_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellogin,
|
||||
.hc-light .icon.serverlevellogin,
|
||||
.vs-dark .icon.serverlevellogin,
|
||||
.hc-black .icon.serverlevellogin {
|
||||
background: url("ServerLevelLogin.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevellogin_disabled,
|
||||
.hc-light .icon.serverlevellogin_disabled,
|
||||
.vs-dark .icon.serverlevellogin_disabled,
|
||||
.hc-black .icon.serverlevellogin_disabled {
|
||||
background: url("ServerLevelLogin_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelserveraudit,
|
||||
.hc-light .icon.serverlevelserveraudit,
|
||||
.vs-dark .icon.serverlevelserveraudit,
|
||||
.hc-black .icon.serverlevelserveraudit {
|
||||
background: url("ServerLevelServerAudit.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelserverauditspecification,
|
||||
.hc-light .icon.serverlevelserverauditspecification,
|
||||
.vs-dark .icon.serverlevelserverauditspecification,
|
||||
.hc-black .icon.serverlevelserverauditspecification {
|
||||
background: url("ServerLevelServerAuditSpecification.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelserverrole,
|
||||
.hc-light .icon.serverlevelserverrole,
|
||||
.vs-dark .icon.serverlevelserverrole,
|
||||
.hc-black .icon.serverlevelserverrole {
|
||||
background: url("ServerLevelServerRole.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelservertrigger,
|
||||
.hc-light .icon.serverlevelservertrigger,
|
||||
.vs-dark .icon.serverlevelservertrigger,
|
||||
.hc-black .icon.serverlevelservertrigger {
|
||||
background: url("ServerLevelServerTrigger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.serverlevelservertrigger_disabled,
|
||||
.hc-light .icon.serverlevelservertrigger_disabled,
|
||||
.vs-dark .icon.serverlevelservertrigger_disabled,
|
||||
.hc-black .icon.serverlevelservertrigger_disabled {
|
||||
background: url("ServerLevelServerTrigger_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.service,
|
||||
.hc-light .icon.service,
|
||||
.vs-dark .icon.service,
|
||||
.hc-black .icon.service {
|
||||
background: url("Service.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.sqllogfile,
|
||||
.hc-light .icon.sqllogfile,
|
||||
.vs-dark .icon.sqllogfile,
|
||||
.hc-black .icon.sqllogfile {
|
||||
background: url("SqlLogFile.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.statistic,
|
||||
.hc-light .icon.statistic,
|
||||
.vs-dark .icon.statistic,
|
||||
.hc-black .icon.statistic {
|
||||
background: url("Statistic.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedure,
|
||||
.hc-light .icon.storedprocedure,
|
||||
.vs-dark .icon.storedprocedure,
|
||||
.hc-black .icon.storedprocedure {
|
||||
background: url("StoredProcedure.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedureparameter_input,
|
||||
.hc-light .icon.storedprocedureparameter_input,
|
||||
.vs-dark .icon.storedprocedureparameter_input,
|
||||
.hc-black .icon.storedprocedureparameter_input {
|
||||
background: url("StoredProcedureParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedureparameter_output,
|
||||
.hc-light .icon.storedprocedureparameter_output,
|
||||
.vs-dark .icon.storedprocedureparameter_output,
|
||||
.hc-black .icon.storedprocedureparameter_output {
|
||||
background: url("StoredProcedureParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.storedprocedureparameter_return,
|
||||
.hc-light .icon.storedprocedureparameter_return,
|
||||
.vs-dark .icon.storedprocedureparameter_return,
|
||||
.hc-black .icon.storedprocedureparameter_return {
|
||||
background: url("StoredProcedureParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.symmetrickey,
|
||||
.hc-light .icon.symmetrickey,
|
||||
.vs-dark .icon.symmetrickey,
|
||||
.hc-black .icon.symmetrickey {
|
||||
background: url("SymmetricKey.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.synonym,
|
||||
.hc-light .icon.synonym,
|
||||
.vs-dark .icon.synonym,
|
||||
.hc-black .icon.synonym {
|
||||
background: url("Synonym.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemapproximatenumeric,
|
||||
.hc-light .icon.systemapproximatenumeric,
|
||||
.vs-dark .icon.systemapproximatenumeric,
|
||||
.hc-black .icon.systemapproximatenumeric {
|
||||
background: url("SystemApproximateNumeric.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systembinarystring,
|
||||
.hc-light .icon.systembinarystring,
|
||||
.vs-dark .icon.systembinarystring,
|
||||
.hc-black .icon.systembinarystring {
|
||||
background: url("SystemBinaryString.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemcharacterstring,
|
||||
.hc-light .icon.systemcharacterstring,
|
||||
.vs-dark .icon.systemcharacterstring,
|
||||
.hc-black .icon.systemcharacterstring {
|
||||
background: url("SystemCharacterString.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemclrdatatype,
|
||||
.hc-light .icon.systemclrdatatype,
|
||||
.vs-dark .icon.systemclrdatatype,
|
||||
.hc-black .icon.systemclrdatatype {
|
||||
background: url("SystemClrDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemcontract,
|
||||
.hc-light .icon.systemcontract,
|
||||
.vs-dark .icon.systemcontract,
|
||||
.hc-black .icon.systemcontract {
|
||||
background: url("SystemContract.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemdateandtime,
|
||||
.hc-light .icon.systemdateandtime,
|
||||
.vs-dark .icon.systemdateandtime,
|
||||
.hc-black .icon.systemdateandtime {
|
||||
background: url("SystemDateAndTime.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemexactnumeric,
|
||||
.hc-light .icon.systemexactnumeric,
|
||||
.vs-dark .icon.systemexactnumeric,
|
||||
.hc-black .icon.systemexactnumeric {
|
||||
background: url("SystemExactNumeric.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemmessagetype,
|
||||
.hc-light .icon.systemmessagetype,
|
||||
.vs-dark .icon.systemmessagetype,
|
||||
.hc-black .icon.systemmessagetype {
|
||||
background: url("SystemMessageType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemotherdatatype,
|
||||
.hc-light .icon.systemotherdatatype,
|
||||
.vs-dark .icon.systemotherdatatype,
|
||||
.hc-black .icon.systemotherdatatype {
|
||||
background: url("SystemOtherDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemqueue,
|
||||
.hc-light .icon.systemqueue,
|
||||
.vs-dark .icon.systemqueue,
|
||||
.hc-black .icon.systemqueue {
|
||||
background: url("SystemQueue.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemservice,
|
||||
.hc-light .icon.systemservice,
|
||||
.vs-dark .icon.systemservice,
|
||||
.hc-black .icon.systemservice {
|
||||
background: url("SystemService.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemspatialdatatype,
|
||||
.hc-light .icon.systemspatialdatatype,
|
||||
.vs-dark .icon.systemspatialdatatype,
|
||||
.hc-black .icon.systemspatialdatatype {
|
||||
background: url("SystemSpatialDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.systemunicodecharacterstring,
|
||||
.hc-light .icon.systemunicodecharacterstring,
|
||||
.vs-dark .icon.systemunicodecharacterstring,
|
||||
.hc-black .icon.systemunicodecharacterstring {
|
||||
background: url("SystemUnicodeCharacterString.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.function,
|
||||
.hc-light .icon.function,
|
||||
.vs-dark .icon.function,
|
||||
.hc-black .icon.function,
|
||||
.vs .icon.tablevaluedfunction,
|
||||
.hc-light .icon.tablevaluedfunction,
|
||||
.vs-dark .icon.tablevaluedfunction,
|
||||
.hc-black .icon.tablevaluedfunction {
|
||||
background: url("TableValuedFunction.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunctionparameter_input,
|
||||
.hc-light .icon.tablevaluedfunctionparameter_input,
|
||||
.vs-dark .icon.tablevaluedfunctionparameter_input,
|
||||
.hc-black .icon.tablevaluedfunctionparameter_input {
|
||||
background: url("TableValuedFunctionParameter_Input.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunctionparameter_output,
|
||||
.hc-light .icon.tablevaluedfunctionparameter_output,
|
||||
.vs-dark .icon.tablevaluedfunctionparameter_output,
|
||||
.hc-black .icon.tablevaluedfunctionparameter_output {
|
||||
background: url("TableValuedFunctionParameter_Output.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.tablevaluedfunctionparameter_return,
|
||||
.hc-light .icon.tablevaluedfunctionparameter_return,
|
||||
.vs-dark .icon.tablevaluedfunctionparameter_return,
|
||||
.hc-black .icon.tablevaluedfunctionparameter_return {
|
||||
background: url("TableValuedFunctionParameter_Return.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.table_ledgerappendonly,
|
||||
.hc-light .icon.table_ledgerappendonly,
|
||||
.vs-dark .icon.table_ledgerappendonly,
|
||||
.hc-black .icon.table_ledgerappendonly,
|
||||
.vs .icon.table_ledgerupdatable,
|
||||
.hc-light .icon.table_ledgerupdatable,
|
||||
.vs-dark .icon.table_ledgerupdatable,
|
||||
.hc-black .icon.table_ledgerupdatable,
|
||||
.vs .icon.table_ledgerdropped,
|
||||
.hc-light .icon.table_ledgerdropped,
|
||||
.vs-dark .icon.table_ledgerdropped,
|
||||
.hc-black .icon.table_ledgerdropped {
|
||||
background: url("Table_Ledger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.table_temporal,
|
||||
.hc-light .icon.table_temporal,
|
||||
.vs-dark .icon.table_temporal,
|
||||
.hc-black .icon.table_temporal {
|
||||
background: url("Table_Temporal.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.table_graphnode,
|
||||
.hc-light .icon.table_graphnode,
|
||||
.vs-dark .icon.table_graphnode,
|
||||
.hc-black .icon.table_graphnode {
|
||||
background: url("Table_GraphNode.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.table_graphedge,
|
||||
.hc-light .icon.table_graphedge,
|
||||
.vs-dark .icon.table_graphedge,
|
||||
.hc-black .icon.table_graphedge {
|
||||
background: url("Table_GraphEdge.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.historytable_ledgerhistory,
|
||||
.hc-light .icon.historytable_ledgerhistory,
|
||||
.vs-dark .icon.historytable_ledgerhistory,
|
||||
.hc-black .icon.historytable_ledgerhistory {
|
||||
background: url("Table_LedgerHistory.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.trigger,
|
||||
.hc-light .icon.trigger,
|
||||
.vs-dark .icon.trigger,
|
||||
.hc-black .icon.trigger {
|
||||
background: url("Trigger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.trigger_disabled,
|
||||
.hc-light .icon.trigger_disabled,
|
||||
.vs-dark .icon.trigger_disabled,
|
||||
.hc-black .icon.trigger_disabled {
|
||||
background: url("Trigger_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.user,
|
||||
.hc-light .icon.user,
|
||||
.vs-dark .icon.user,
|
||||
.hc-black .icon.user {
|
||||
background: url("User.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.user_disabled,
|
||||
.hc-light .icon.user_disabled,
|
||||
.vs-dark .icon.user_disabled,
|
||||
.hc-black .icon.user_disabled {
|
||||
background: url("User_Disabled.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefineddatatype,
|
||||
.hc-light .icon.userdefineddatatype,
|
||||
.vs-dark .icon.userdefineddatatype,
|
||||
.hc-black .icon.userdefineddatatype {
|
||||
background: url("UserDefinedDataType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtabletype,
|
||||
.hc-light .icon.userdefinedtabletype,
|
||||
.vs-dark .icon.userdefinedtabletype,
|
||||
.hc-black .icon.userdefinedtabletype {
|
||||
background: url("UserDefinedTableType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtabletypecolumn,
|
||||
.hc-light .icon.userdefinedtabletypecolumn,
|
||||
.vs-dark .icon.userdefinedtabletypecolumn,
|
||||
.hc-black .icon.userdefinedtabletypecolumn {
|
||||
background: url("UserDefinedTableTypeColumn.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtabletypeconstraint,
|
||||
.hc-light .icon.userdefinedtabletypeconstraint,
|
||||
.vs-dark .icon.userdefinedtabletypeconstraint,
|
||||
.hc-black .icon.userdefinedtabletypeconstraint {
|
||||
background: url("UserDefinedTableTypeConstraint.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.userdefinedtype,
|
||||
.hc-light .icon.userdefinedtype,
|
||||
.vs-dark .icon.userdefinedtype,
|
||||
.hc-black .icon.userdefinedtype {
|
||||
background: url("UserDefinedType.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.view,
|
||||
.hc-light .icon.view,
|
||||
.vs-dark .icon.view,
|
||||
.hc-black .icon.view {
|
||||
background: url("View.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.view_ledger,
|
||||
.hc-light .icon.view_ledger,
|
||||
.vs-dark .icon.view_ledger,
|
||||
.hc-black .icon.view_ledger {
|
||||
background: url("View_Ledger.svg") center center no-repeat;
|
||||
}
|
||||
|
||||
.vs .icon.xmlschemacollection,
|
||||
.hc-light .icon.xmlschemacollection,
|
||||
.vs-dark .icon.xmlschemacollection,
|
||||
.hc-black .icon.xmlschemacollection {
|
||||
background: url("XmlSchemaCollection.svg") center center no-repeat;
|
||||
|
||||
@@ -25,12 +25,6 @@ export interface IGridDataProvider {
|
||||
*/
|
||||
copyResults(selection: Slick.Range[], includeHeaders?: boolean, tableView?: IDisposableDataProvider<Slick.SlickData>): Promise<void>;
|
||||
|
||||
/**
|
||||
* Sends a copy request to copy table headers to the clipboard
|
||||
* @param selection The selection range to copy
|
||||
*/
|
||||
copyHeaders(selection: Slick.Range[]): Promise<void>;
|
||||
|
||||
/**
|
||||
* Gets the EOL terminator to use for this data type.
|
||||
*/
|
||||
@@ -106,8 +100,11 @@ export async function getResultsString(provider: IGridDataProvider, selection: S
|
||||
// Make sure all these tasks have executed
|
||||
await Promise.all(actionedTasks);
|
||||
|
||||
headers = sortMapEntriesByColumnOrder(headers);
|
||||
rows = sortMapEntriesByColumnOrder(rows);
|
||||
const sortResults = (e1: [number, any], e2: [number, any]) => {
|
||||
return e1[0] - e2[0];
|
||||
};
|
||||
headers = new Map([...headers].sort(sortResults));
|
||||
rows = new Map([...rows].sort(sortResults));
|
||||
|
||||
let copyString = '';
|
||||
if (includeHeaders) {
|
||||
@@ -135,42 +132,6 @@ export async function getResultsString(provider: IGridDataProvider, selection: S
|
||||
return copyString;
|
||||
}
|
||||
|
||||
export function getTableHeaderString(provider: IGridDataProvider, selection: Slick.Range[]): string {
|
||||
let headers: Map<number, string> = new Map(); // Maps a column index -> header
|
||||
|
||||
selection.forEach((range) => {
|
||||
let startCol = range.fromCell;
|
||||
let columnHeaders = provider.getColumnHeaders(range);
|
||||
if (columnHeaders !== undefined) {
|
||||
let idx = 0;
|
||||
for (let header of columnHeaders) {
|
||||
headers.set(startCol + idx, header);
|
||||
idx++;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
headers = sortMapEntriesByColumnOrder(headers)
|
||||
|
||||
const copyString = Array.from(headers.values())
|
||||
.map(colHeader => colHeader ? colHeader : '')
|
||||
.join('\t');
|
||||
|
||||
return copyString;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ensures that table entries in the map appear in column order instead of the order that they were selected.
|
||||
* @param map Contains the entries selected in a table
|
||||
* @returns Sorted map with entries appearing in column order.
|
||||
*/
|
||||
function sortMapEntriesByColumnOrder(map: Map<number, any>): Map<number, any> {
|
||||
const leftToRight = (e1: [number, any], e2: [number, any]) => {
|
||||
return e1[0] - e2[0];
|
||||
};
|
||||
|
||||
return new Map([...map].sort(leftToRight));
|
||||
}
|
||||
|
||||
function removeNewLines(inputString: string): string {
|
||||
// This regex removes all newlines in all OS types
|
||||
|
||||
@@ -21,7 +21,7 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import * as perf from 'vs/base/common/performance';
|
||||
import { mssqlProviderName } from 'sql/platform/connection/common/constants';
|
||||
import { IGridDataProvider, getResultsString, getTableHeaderString } from 'sql/workbench/services/query/common/gridDataProvider';
|
||||
import { IGridDataProvider, getResultsString } from 'sql/workbench/services/query/common/gridDataProvider';
|
||||
import { getErrorMessage } from 'vs/base/common/errors';
|
||||
import { ILogService } from 'vs/platform/log/common/log';
|
||||
import { IRange, Range } from 'vs/editor/common/core/range';
|
||||
@@ -564,16 +564,7 @@ export class QueryGridDataProvider implements IGridDataProvider {
|
||||
const results = await getResultsString(this, selection, includeHeaders, tableView);
|
||||
await this._clipboardService.writeText(results);
|
||||
} catch (error) {
|
||||
this._notificationService.error(nls.localize('copyFailed', "Copy failed with error: {0}", getErrorMessage(error)));
|
||||
}
|
||||
}
|
||||
|
||||
async copyHeaders(selection: Slick.Range[]): Promise<void> {
|
||||
try {
|
||||
const results = getTableHeaderString(this, selection);
|
||||
await this._clipboardService.writeText(results);
|
||||
} catch (error) {
|
||||
this._notificationService.error(nls.localize('copyFailed', "Copy failed with error: {0}", getErrorMessage(error)));
|
||||
this._notificationService.error(nls.localize('copyFailed', "Copy failed with error {0}", getErrorMessage(error)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ export const TaskRegistry: ITaskRegistry = new class implements ITaskRegistry {
|
||||
// TODO
|
||||
} else if (item.icon?.dark) { // at the very least we need a dark icon
|
||||
iconClass = ids.nextId();
|
||||
createCSSRule(`.codicon.${iconClass}`, `background-image: ${asCSSUrl(item.icon.light || item.icon.dark)}`);
|
||||
createCSSRule(`.codicon.${iconClass}, .hc-light .codicon.${iconClass}`, `background-image: ${asCSSUrl(item.icon.light || item.icon.dark)}`);
|
||||
createCSSRule(`.vs-dark .codicon.${iconClass}, .hc-black .codicon.${iconClass}`, `background-image: ${asCSSUrl(item.icon.dark)}`);
|
||||
this.taskIdToIconClassNameMap.set(item.id, iconClass);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user