mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-24 09:35:37 -05:00
initial PR for table designer feature (#17200)
* wip * wire up e2e * hook up styler and add as dataprotocal feature * designer child component rendering * table component updates * styler and selectbox column editor * fix editor size and dupe component creation issue * fix checkbox column and add more testing data * properties pane * only rerender when needed * properties pane update * update commands * cleanup for PR * revert unwanted changes * Adding a few tests for Add SQL binding (#17079) * initial changes * add a couple more tests * LEGO: check in for main to temporary branch. (#17089) * LEGO: check in for main to temporary branch. (#17091) Co-authored-by: kburtram <karlb@microsoft.com> * Adds autorest-based SQL Project generation to SQL Database Projects extension (#17078) * Initial changes * checkpoint * Constructing project with post deployment script * Correcting to intentionally read from cached list of projects * Adding activation event, fixing fresh workspace bug * Convert netcoreTool and autorestHelper to share a helper class for streamed command * Include npm package version to force update * test checkpoint * Unit tests * Added contextual quickpicks for autorest dialogs * Adding projectController test * Added projectController test, some refactoring for testability * Merge branch 'main' into benjin/autorest * Fixing 'which' import * PR feedback * Fixing tests * Adding additional information for when project provider tests fail * Hopefully fixing failing tests (unable to repro locally) * Adding Generate Project item to workspace menu * PR feedback * LEGO: check in for main to temporary branch. (#17097) * added sql database projects strings (#17100) * Set kernelAlias in startSession when isValidConnection is truthy (#17102) * PR follow-up comments (#17113) * Change recompare message after changing options to modal (#17103) * Change recompare message to modal * change options to yes and no * Remove commented code block in git extension (#17116) * Remove commented code block in git extension * Add SQL CARBON EDIT tag * [Loc] Small change to generatingProjectFailed (#17118) * Add Null Shortcut and added NULL text for default NULL value. (#17085) * added test key event * added null function to tryHandleKeyEvent * added null formatting * added working null insert. * added editDataGridPanel string null support * Bump nth-check from 2.0.0 to 2.0.1 in /build (#17115) Bumps [nth-check](https://github.com/fb55/nth-check) from 2.0.0 to 2.0.1. - [Release notes](https://github.com/fb55/nth-check/releases) - [Commits](https://github.com/fb55/nth-check/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: nth-check dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add excludeFlags to extenson marketplace query (#17121) * Add excludeFlags to extenson marketplace query * Remove dead code * Remove extraneous blank line * Address code review feedback * Adding Derived Columns to ADS Flatfile Import (#16795) * Adding derived column boilerplate * brandan preliminary frontend changes * empty commit * added new param * updating contracts, dialogue changes * utils changes, saving timeout attempt * pushing for aasim * Cleaning up code and fixing the issue in theory * changing button, did not solve independent scroll * Fixing the scroll bar issue * updating flat file service * adding override keyword to overrriden method * improving UI * pushing changes associated with resolved comments * localizing strings, editing comments * all comments resolved * Fixing a test * updating import package Updating azure MFA bug * Clearing navigation validator Fixing broken table name change * fixed prose test * removing unused code from tests * Fixed PR comments * Fixing some PR comments * WIP * Fixing transformation code and create derived column dialog styling * removing unused code * Adding comment for console log * fixed table styling * Adding some aria labels * Fixed some code cleanup issues * update import service Co-authored-by: Aasim Khan <aasimkhan30@gmail.com> Co-authored-by: bnhoule <t-bhoule@microsoft.com> * Change keybindings for copying query with Results (#17127) Co-authored-by: Monica Gupta <mogupt@microsoft.com> * sql proj - publish to docker improvements (#17124) * Add AAD token expiration handling for query runner (#17117) * Add AAD token refresh for notebook * move token refresh to query management and remove previous refresh calls * Add guids to RunAll and RunCell events (#17123) Add guids to RunAll and RunCell events * add error banner for failed migration cutover and cancel migration (#17106) * [Loc] update to sql migration, database projects and import extension strings (#17130) * Apply optional storage class settings in sql mi create command (#17129) * Make storage classes optional * Fix notebook to use storage class options Co-authored-by: Charmaine Chan <chachan@microsoft.com> * Add support for adding new setting in local.settings.json in add SQL binding quickpick (#17093) * be able to add new setting in local.settings.json * cleanup * addressing comments * remove todo comment * addressing comments * update some strings to uris * bump version of sqltoolsservice (#17133) * mark schema compare tests as unstable (#17140) * [Loc] Update for arc and sql-database-projects (#17148) * ML extension vbump (#17143) * Configure docker image and web smoke tests for ADSWeb. (#17136) * Adjusts timeout period * Revert "Adjusts timeout period" This reverts commit 0f372eae2a4611554093b6c09f1ff6c451132e19. * Adds firefox as browser option * Corrects yaml smoke test script * Resets args array to original values * Corrects build path * Resolves ignoring browser option error * continue even after writing to stderr * Adjusts smoke test (browser) script * More adjustments to smoke test script * Corrects server path * Uses build variable directly in build path * Specifies browser type since cannot be ignored error * Adds browser option * Updates web build image and corrects smoke test exe command * Removes commented out task * Updates dockerfile to support web smoketests * Removes failOnStderr flag * Use curl instead of wget in Dockerfile * Fixed a bug with cancling publish (#17160) * Save And Close Functionality (#17000) * save and close * wip * working save and close * cleanup * pr changes * pr changes * fix capitalization * fix build * pr fix * Added dynamic options for SQL MIAA Deployment Wizard and updated checkbox field (#17119) * Dynamic enablement * Added new package.json field for dynamic options and corresponding functions and classes. * Enabled dynamic options non-generalized and changed formatting of checkbox to have label on the left. * Added setOptions under InputComponentInfo for generalization, comments under checkbox component, and changed Replicas to High Availability to reflect parity in portal. * fix unit test Co-authored-by: Candice Ye <canye@microsoft.com> Co-authored-by: Alan Ren <alanren@microsoft.com> * LEGO: check in for main to temporary branch. (#17168) * [Loc] added new arc strings and fix for sql-database-projects lcl file for Japanese (#17171) * [Loc] added new arc strings and fix for sql-database-projects xlf * removed newline * Port of Vscode fix for colors too close (#17146) * default light colors list.focusHighlightForeground too close to list.activeSelectionBackground. Fixes #127597 * remove activeSelectionBackground from theme-carbon as it conflicts with vscode. * remove dark carbon background Co-authored-by: Martin Aeschlimann <martinae@microsoft.com> * Markdown Horizontal Scrollbar Fix (#17083) * dynamically change horizontal scrollbar * working horizontal scrollbar * created new event to handle both scrollbar and mouse wheel * only show scrollbar when needed * LEGO: check in for main to temporary branch. (#17181) * Bump axios to 0.21.4 (#17161) * Kusto version bump to 0.5.6 (#17114) * Bumped Kusto toolsservice version to 125 and bumped version to 0.5.6 * Changed netcoreapp3.1 to net5.0 in Kusto config.json * AzureMonitor bump ToolService version and extension version. (#17174) * Bump concat-with-sourcemaps from 1.0.4 to 1.1.0 (#17158) Bumps [concat-with-sourcemaps](https://github.com/floridoo/concat-with-sourcemaps) from 1.0.4 to 1.1.0. - [Release notes](https://github.com/floridoo/concat-with-sourcemaps/releases) - [Commits](https://github.com/floridoo/concat-with-sourcemaps/commits) --- updated-dependencies: - dependency-name: concat-with-sourcemaps dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update service downloader to 0.2.3 (#17186) * Notebook Views grid fixes (#17170) * update data workspace restart ADS to open workspace message (#17188) * update message * update string * Add back "Remove Project" (#17178) * remove project working with full paths * use relative paths * const * addressing comments * Bump github-auth axios to 0.21.4 (#17189) * LEGO: check in for main to temporary branch. (#17192) * LEGO: check in for main to temporary branch. (#17190) Co-authored-by: kburtram <karlb@microsoft.com> * [Loc] Add a small change to dataworkspace (#17194) * added bump to sqltoolsservice version (#17195) * Check if file is dirty before adding sql binding (#17175) * check if file is dirty before adding sql binding * Addressing comments * Add vertical scroll bar to Preview in Split View (#17164) * reset max height * add editor height * set md editor height * Split up NotebookProvider into separate providers for handling file serialization and cell execution. (#17176) * fix floating promises * pr comments * reuse component definition * comments * fix error Co-authored-by: Kim Santiago <31145923+kisantia@users.noreply.github.com> Co-authored-by: csigs <csigs@users.noreply.github.com> Co-authored-by: kburtram <karlb@microsoft.com> Co-authored-by: Benjin Dubishar <benjin.dubishar@gmail.com> Co-authored-by: Alex Ma <alma1@microsoft.com> Co-authored-by: Justin M <63619224+JustinMDotNet@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: bnhoule <52506119+bnhoule@users.noreply.github.com> Co-authored-by: Aasim Khan <aasimkhan30@gmail.com> Co-authored-by: bnhoule <t-bhoule@microsoft.com> Co-authored-by: Monica Gupta <scorpio90m@gmail.com> Co-authored-by: Monica Gupta <mogupt@microsoft.com> Co-authored-by: Leila Lali <llali@microsoft.com> Co-authored-by: Hai Cao <hacao@microsoft.com> Co-authored-by: Daniel Grajeda <dagrajed@microsoft.com> Co-authored-by: brian-harris <61598682+brian-harris@users.noreply.github.com> Co-authored-by: Charmaine Chan <69230572+charmainewkchan@users.noreply.github.com> Co-authored-by: Charmaine Chan <chachan@microsoft.com> Co-authored-by: Lewis Sanchez <87730006+lewis-sanchez@users.noreply.github.com> Co-authored-by: Christopher Suh <chsuh@microsoft.com> Co-authored-by: Candice Ye <candiceye@berkeley.edu> Co-authored-by: Candice Ye <canye@microsoft.com> Co-authored-by: Martin Aeschlimann <martinae@microsoft.com> Co-authored-by: Vasu Bhog <vabhog@microsoft.com> Co-authored-by: Charles Gagnon <chgagnon@microsoft.com> Co-authored-by: Barbara Valdez <34872381+barbaravaldez@users.noreply.github.com> Co-authored-by: Cory Rivera <corivera@microsoft.com>
This commit is contained in:
@@ -8,103 +8,113 @@ import * as colors from './colors';
|
||||
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
import * as cr from 'vs/platform/theme/common/colorRegistry';
|
||||
import * as sqlcr from 'sql/platform/theme/common/colorRegistry';
|
||||
import { attachStyler, defaultListStyles, IColorMapping, IStyleOverrides } from 'vs/platform/theme/common/styler';
|
||||
import { attachStyler, computeStyles, defaultListStyles, IColorMapping, IStyleOverrides } from 'vs/platform/theme/common/styler';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { IThemable } from 'vs/base/common/styler';
|
||||
|
||||
export function attachDropdownStyler(widget: IThemable, themeService: IThemeService, style?:
|
||||
{
|
||||
backgroundColor?: cr.ColorIdentifier,
|
||||
foregroundColor?: cr.ColorIdentifier,
|
||||
borderColor?: cr.ColorIdentifier,
|
||||
buttonForeground?: cr.ColorIdentifier,
|
||||
buttonBackground?: cr.ColorIdentifier,
|
||||
buttonHoverBackground?: cr.ColorIdentifier,
|
||||
buttonFocusOutline?: cr.ColorIdentifier
|
||||
}): IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
foregroundColor: (style && style.foregroundColor) || cr.inputForeground,
|
||||
borderColor: (style && style.borderColor) || cr.inputBorder,
|
||||
backgroundColor: (style && style.backgroundColor) || cr.editorBackground,
|
||||
buttonForeground: (style && style.buttonForeground) || cr.buttonForeground,
|
||||
buttonBackground: (style && style.buttonBackground) || cr.buttonBackground,
|
||||
buttonHoverBackground: (style && style.buttonHoverBackground) || cr.buttonHoverBackground,
|
||||
buttonBorder: cr.contrastBorder,
|
||||
buttonFocusOutline: (style && style.buttonFocusOutline) || colors.buttonFocusOutline
|
||||
}, widget);
|
||||
export interface IDropdownStyleOverrides extends IStyleOverrides {
|
||||
foregroundColor?: cr.ColorIdentifier;
|
||||
borderColor?: cr.ColorIdentifier;
|
||||
backgroundColor?: cr.ColorIdentifier;
|
||||
buttonForeground?: cr.ColorIdentifier;
|
||||
buttonBackground?: cr.ColorIdentifier;
|
||||
buttonHoverBackground?: cr.ColorIdentifier;
|
||||
buttonBorder?: cr.ColorIdentifier;
|
||||
buttonFocusOutline?: cr.ColorIdentifier;
|
||||
}
|
||||
|
||||
export function attachInputBoxStyler(widget: IThemable, themeService: IThemeService, style?:
|
||||
{
|
||||
inputBackground?: cr.ColorIdentifier,
|
||||
inputForeground?: cr.ColorIdentifier,
|
||||
disabledInputBackground?: cr.ColorIdentifier,
|
||||
disabledInputForeground?: cr.ColorIdentifier,
|
||||
inputBorder?: cr.ColorIdentifier,
|
||||
inputValidationInfoBorder?: cr.ColorIdentifier,
|
||||
inputValidationInfoBackground?: cr.ColorIdentifier,
|
||||
inputValidationWarningBorder?: cr.ColorIdentifier,
|
||||
inputValidationWarningBackground?: cr.ColorIdentifier,
|
||||
inputValidationErrorBorder?: cr.ColorIdentifier,
|
||||
inputValidationErrorBackground?: cr.ColorIdentifier
|
||||
}): IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
inputBackground: (style && style.inputBackground) || cr.inputBackground,
|
||||
inputForeground: (style && style.inputForeground) || cr.inputForeground,
|
||||
disabledInputBackground: (style && style.disabledInputBackground) || colors.disabledInputBackground,
|
||||
disabledInputForeground: (style && style.disabledInputForeground) || colors.disabledInputForeground,
|
||||
inputBorder: (style && style.inputBorder) || cr.inputBorder,
|
||||
inputValidationInfoBorder: (style && style.inputValidationInfoBorder) || cr.inputValidationInfoBorder,
|
||||
inputValidationInfoBackground: (style && style.inputValidationInfoBackground) || cr.inputValidationInfoBackground,
|
||||
inputValidationWarningBorder: (style && style.inputValidationWarningBorder) || cr.inputValidationWarningBorder,
|
||||
inputValidationWarningBackground: (style && style.inputValidationWarningBackground) || cr.inputValidationWarningBackground,
|
||||
inputValidationErrorBorder: (style && style.inputValidationErrorBorder) || cr.inputValidationErrorBorder,
|
||||
inputValidationErrorBackground: (style && style.inputValidationErrorBackground) || cr.inputValidationErrorBackground
|
||||
}, widget);
|
||||
export const defaultDropdownStyle: IDropdownStyleOverrides = {
|
||||
foregroundColor: cr.inputForeground,
|
||||
borderColor: cr.inputBorder,
|
||||
backgroundColor: cr.editorBackground,
|
||||
buttonForeground: cr.buttonForeground,
|
||||
buttonBackground: cr.buttonBackground,
|
||||
buttonHoverBackground: cr.buttonHoverBackground,
|
||||
buttonBorder: cr.contrastBorder,
|
||||
buttonFocusOutline: colors.buttonFocusOutline
|
||||
};
|
||||
|
||||
export function attachDropdownStyler(widget: IThemable, themeService: IThemeService, style?: IDropdownStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultDropdownStyle, ...(style || {}) }, widget);
|
||||
}
|
||||
|
||||
export function attachSelectBoxStyler(widget: IThemable, themeService: IThemeService, style?:
|
||||
{
|
||||
selectBackground?: cr.ColorIdentifier,
|
||||
selectListBackground?: cr.ColorIdentifier,
|
||||
selectForeground?: cr.ColorIdentifier,
|
||||
selectBorder?: cr.ColorIdentifier,
|
||||
disabledSelectBackground?: cr.ColorIdentifier,
|
||||
disabledSelectForeground?: cr.ColorIdentifier,
|
||||
inputValidationInfoBorder?: cr.ColorIdentifier,
|
||||
inputValidationInfoBackground?: cr.ColorIdentifier,
|
||||
inputValidationWarningBorder?: cr.ColorIdentifier,
|
||||
inputValidationWarningBackground?: cr.ColorIdentifier,
|
||||
inputValidationErrorBorder?: cr.ColorIdentifier,
|
||||
inputValidationErrorBackground?: cr.ColorIdentifier,
|
||||
focusBorder?: cr.ColorIdentifier,
|
||||
listFocusBackground?: cr.ColorIdentifier,
|
||||
listFocusForeground?: cr.ColorIdentifier,
|
||||
listFocusOutline?: cr.ColorIdentifier,
|
||||
listHoverBackground?: cr.ColorIdentifier,
|
||||
listHoverForeground?: cr.ColorIdentifier
|
||||
}): IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
selectBackground: (style && style.selectBackground) || cr.selectBackground,
|
||||
selectListBackground: (style && style.selectListBackground) || cr.selectListBackground,
|
||||
selectForeground: (style && style.selectForeground) || cr.selectForeground,
|
||||
selectBorder: (style && style.selectBorder) || cr.selectBorder,
|
||||
disabledSelectBackground: (style && style.disabledSelectBackground) || colors.disabledInputBackground,
|
||||
disabledSelectForeground: (style && style.disabledSelectForeground) || colors.disabledInputForeground,
|
||||
inputValidationInfoBorder: (style && style.inputValidationInfoBorder) || cr.inputValidationInfoBorder,
|
||||
inputValidationInfoBackground: (style && style.inputValidationInfoBackground) || cr.inputValidationInfoBackground,
|
||||
inputValidationWarningBorder: (style && style.inputValidationWarningBorder) || cr.inputValidationWarningBorder,
|
||||
inputValidationWarningBackground: (style && style.inputValidationWarningBackground) || cr.inputValidationWarningBackground,
|
||||
inputValidationErrorBorder: (style && style.inputValidationErrorBorder) || cr.inputValidationErrorBorder,
|
||||
inputValidationErrorBackground: (style && style.inputValidationErrorBackground) || cr.inputValidationErrorBackground,
|
||||
focusBorder: (style && style.focusBorder) || cr.focusBorder,
|
||||
listFocusBackground: (style && style.listFocusBackground) || cr.listFocusBackground,
|
||||
listFocusForeground: (style && style.listFocusForeground) || cr.listFocusForeground,
|
||||
listFocusOutline: (style && style.listFocusOutline) || cr.activeContrastBorder,
|
||||
listHoverBackground: (style && style.listHoverBackground) || cr.listHoverBackground,
|
||||
listHoverForeground: (style && style.listHoverForeground) || cr.listHoverForeground,
|
||||
listHoverOutline: (style && style.listFocusOutline) || cr.activeContrastBorder
|
||||
}, widget);
|
||||
export interface IInputBoxStyleOverrides extends IStyleOverrides {
|
||||
inputBackground?: cr.ColorIdentifier,
|
||||
inputForeground?: cr.ColorIdentifier,
|
||||
disabledInputBackground?: cr.ColorIdentifier,
|
||||
disabledInputForeground?: cr.ColorIdentifier,
|
||||
inputBorder?: cr.ColorIdentifier,
|
||||
inputValidationInfoBorder?: cr.ColorIdentifier,
|
||||
inputValidationInfoBackground?: cr.ColorIdentifier,
|
||||
inputValidationWarningBorder?: cr.ColorIdentifier,
|
||||
inputValidationWarningBackground?: cr.ColorIdentifier,
|
||||
inputValidationErrorBorder?: cr.ColorIdentifier,
|
||||
inputValidationErrorBackground?: cr.ColorIdentifier
|
||||
}
|
||||
|
||||
export const defaultInputBoxStyleOverrides: IInputBoxStyleOverrides = {
|
||||
inputBackground: cr.inputBackground,
|
||||
inputForeground: cr.inputForeground,
|
||||
disabledInputBackground: colors.disabledInputBackground,
|
||||
disabledInputForeground: colors.disabledInputForeground,
|
||||
inputBorder: cr.inputBorder,
|
||||
inputValidationInfoBorder: cr.inputValidationInfoBorder,
|
||||
inputValidationInfoBackground: cr.inputValidationInfoBackground,
|
||||
inputValidationWarningBorder: cr.inputValidationWarningBorder,
|
||||
inputValidationWarningBackground: cr.inputValidationWarningBackground,
|
||||
inputValidationErrorBorder: cr.inputValidationErrorBorder,
|
||||
inputValidationErrorBackground: cr.inputValidationErrorBackground
|
||||
};
|
||||
|
||||
export function attachInputBoxStyler(widget: IThemable, themeService: IThemeService, style?: IInputBoxStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultInputBoxStyleOverrides, ...(style || {}) }, widget);
|
||||
}
|
||||
|
||||
export interface ISelectBoxStyleOverrides extends IStyleOverrides {
|
||||
selectBackground?: cr.ColorIdentifier,
|
||||
selectListBackground?: cr.ColorIdentifier,
|
||||
selectForeground?: cr.ColorIdentifier,
|
||||
selectBorder?: cr.ColorIdentifier,
|
||||
disabledSelectBackground?: cr.ColorIdentifier,
|
||||
disabledSelectForeground?: cr.ColorIdentifier,
|
||||
inputValidationInfoBorder?: cr.ColorIdentifier,
|
||||
inputValidationInfoBackground?: cr.ColorIdentifier,
|
||||
inputValidationWarningBorder?: cr.ColorIdentifier,
|
||||
inputValidationWarningBackground?: cr.ColorIdentifier,
|
||||
inputValidationErrorBorder?: cr.ColorIdentifier,
|
||||
inputValidationErrorBackground?: cr.ColorIdentifier,
|
||||
focusBorder?: cr.ColorIdentifier,
|
||||
listFocusBackground?: cr.ColorIdentifier,
|
||||
listFocusForeground?: cr.ColorIdentifier,
|
||||
listFocusOutline?: cr.ColorIdentifier,
|
||||
listHoverBackground?: cr.ColorIdentifier,
|
||||
listHoverForeground?: cr.ColorIdentifier
|
||||
}
|
||||
|
||||
export const defaultSelectBoxStyleOverrides: ISelectBoxStyleOverrides = {
|
||||
selectBackground: cr.selectBackground,
|
||||
selectListBackground: cr.selectListBackground,
|
||||
selectForeground: cr.selectForeground,
|
||||
selectBorder: cr.selectBorder,
|
||||
disabledSelectBackground: colors.disabledInputBackground,
|
||||
disabledSelectForeground: colors.disabledInputForeground,
|
||||
inputValidationInfoBorder: cr.inputValidationInfoBorder,
|
||||
inputValidationInfoBackground: cr.inputValidationInfoBackground,
|
||||
inputValidationWarningBorder: cr.inputValidationWarningBorder,
|
||||
inputValidationWarningBackground: cr.inputValidationWarningBackground,
|
||||
inputValidationErrorBorder: cr.inputValidationErrorBorder,
|
||||
inputValidationErrorBackground: cr.inputValidationErrorBackground,
|
||||
focusBorder: cr.focusBorder,
|
||||
listFocusBackground: cr.listFocusBackground,
|
||||
listFocusForeground: cr.listFocusForeground,
|
||||
listFocusOutline: cr.activeContrastBorder,
|
||||
listHoverBackground: cr.listHoverBackground,
|
||||
listHoverForeground: cr.listHoverForeground,
|
||||
listHoverOutline: cr.activeContrastBorder
|
||||
};
|
||||
|
||||
export function attachSelectBoxStyler(widget: IThemable, themeService: IThemeService, style?: ISelectBoxStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultSelectBoxStyleOverrides, ...(style || {}) }, widget);
|
||||
}
|
||||
|
||||
export function attachListBoxStyler(widget: IThemable, themeService: IThemeService, style?:
|
||||
@@ -132,7 +142,7 @@ export function attachListBoxStyler(widget: IThemable, themeService: IThemeServi
|
||||
}, widget);
|
||||
}
|
||||
|
||||
export function attachTableStyler(widget: IThemable, themeService: IThemeService, style?: {
|
||||
export interface ITableStyleOverrides extends IStyleOverrides {
|
||||
listFocusBackground?: cr.ColorIdentifier,
|
||||
listFocusForeground?: cr.ColorIdentifier,
|
||||
listActiveSelectionBackground?: cr.ColorIdentifier,
|
||||
@@ -150,31 +160,35 @@ export function attachTableStyler(widget: IThemable, themeService: IThemeService
|
||||
listSelectionOutline?: cr.ColorIdentifier,
|
||||
listHoverOutline?: cr.ColorIdentifier,
|
||||
tableHeaderBackground?: cr.ColorIdentifier,
|
||||
tableHeaderForeground?: cr.ColorIdentifier
|
||||
}): IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
listFocusBackground: (style && style.listFocusBackground) || cr.listFocusBackground,
|
||||
listFocusForeground: (style && style.listFocusForeground) || cr.listFocusForeground,
|
||||
listActiveSelectionBackground: (style && style.listActiveSelectionBackground) || cr.listActiveSelectionBackground,
|
||||
listActiveSelectionForeground: (style && style.listActiveSelectionForeground) || cr.listActiveSelectionForeground,
|
||||
listFocusAndSelectionBackground: style && style.listFocusAndSelectionBackground || colors.listFocusAndSelectionBackground,
|
||||
listFocusAndSelectionForeground: (style && style.listFocusAndSelectionForeground) || cr.listActiveSelectionForeground,
|
||||
listInactiveFocusBackground: (style && style.listInactiveFocusBackground),
|
||||
listInactiveSelectionBackground: (style && style.listInactiveSelectionBackground) || cr.listInactiveSelectionBackground,
|
||||
listInactiveSelectionForeground: (style && style.listInactiveSelectionForeground) || cr.listInactiveSelectionForeground,
|
||||
listHoverBackground: (style && style.listHoverBackground) || cr.listHoverBackground,
|
||||
listHoverForeground: (style && style.listHoverForeground) || cr.listHoverForeground,
|
||||
listDropBackground: (style && style.listDropBackground) || cr.listDropBackground,
|
||||
listFocusOutline: (style && style.listFocusOutline) || cr.activeContrastBorder,
|
||||
listSelectionOutline: (style && style.listSelectionOutline) || cr.activeContrastBorder,
|
||||
listHoverOutline: (style && style.listHoverOutline) || cr.activeContrastBorder,
|
||||
listInactiveFocusOutline: style && style.listInactiveFocusOutline,
|
||||
tableHeaderBackground: (style && style.tableHeaderBackground) || colors.tableHeaderBackground,
|
||||
tableHeaderForeground: (style && style.tableHeaderForeground) || colors.tableHeaderForeground
|
||||
}, widget);
|
||||
tableHeaderForeground?: cr.ColorIdentifier,
|
||||
}
|
||||
|
||||
export interface ITableStyleOverrides extends IStyleOverrides {
|
||||
export const defaultTableStyleOverrides: ITableStyleOverrides = {
|
||||
listFocusBackground: cr.listFocusBackground,
|
||||
listFocusForeground: cr.listFocusForeground,
|
||||
listActiveSelectionBackground: cr.listActiveSelectionBackground,
|
||||
listActiveSelectionForeground: cr.listActiveSelectionForeground,
|
||||
listFocusAndSelectionBackground: colors.listFocusAndSelectionBackground,
|
||||
listFocusAndSelectionForeground: cr.listActiveSelectionForeground,
|
||||
listInactiveFocusBackground: cr.listInactiveFocusBackground,
|
||||
listInactiveSelectionBackground: cr.listInactiveSelectionBackground,
|
||||
listInactiveSelectionForeground: cr.listInactiveSelectionForeground,
|
||||
listHoverBackground: cr.listHoverBackground,
|
||||
listHoverForeground: cr.listHoverForeground,
|
||||
listDropBackground: cr.listDropBackground,
|
||||
listFocusOutline: cr.activeContrastBorder,
|
||||
listSelectionOutline: cr.activeContrastBorder,
|
||||
listHoverOutline: cr.activeContrastBorder,
|
||||
listInactiveFocusOutline: cr.listInactiveFocusOutline,
|
||||
tableHeaderBackground: colors.tableHeaderBackground,
|
||||
tableHeaderForeground: colors.tableHeaderForeground
|
||||
};
|
||||
|
||||
export function attachTableStyler(widget: IThemable, themeService: IThemeService, style?: ITableStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultTableStyleOverrides, ...(style || {}) }, widget);
|
||||
}
|
||||
|
||||
export interface IHighPerfTableStyleOverrides extends IStyleOverrides {
|
||||
listFocusBackground?: cr.ColorIdentifier,
|
||||
listFocusForeground?: cr.ColorIdentifier,
|
||||
listActiveSelectionBackground?: cr.ColorIdentifier,
|
||||
@@ -197,10 +211,6 @@ export interface ITableStyleOverrides extends IStyleOverrides {
|
||||
tableHeaderAndRowCountColor?: cr.ColorIdentifier
|
||||
}
|
||||
|
||||
export function attachHighPerfTableStyler(widget: IThemable, themeService: IThemeService, overrides?: IColorMapping): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultHighPerfTableStyles, ...(overrides || {}) }, widget);
|
||||
}
|
||||
|
||||
export const defaultHighPerfTableStyles: IColorMapping = {
|
||||
listFocusBackground: cr.listFocusBackground,
|
||||
listFocusForeground: cr.listFocusForeground,
|
||||
@@ -223,7 +233,11 @@ export const defaultHighPerfTableStyles: IColorMapping = {
|
||||
tableHeaderAndRowCountColor: colors.tableCellOutline
|
||||
};
|
||||
|
||||
export function attachEditableDropdownStyler(widget: IThemable, themeService: IThemeService, style?: {
|
||||
export function attachHighPerfTableStyler(widget: IThemable, themeService: IThemeService, overrides?: IHighPerfTableStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultHighPerfTableStyles, ...(overrides || {}) }, widget);
|
||||
}
|
||||
|
||||
export interface IEditableDropdownStyleOverrides extends IStyleOverrides {
|
||||
listFocusBackground?: cr.ColorIdentifier,
|
||||
listFocusForeground?: cr.ColorIdentifier,
|
||||
listActiveSelectionBackground?: cr.ColorIdentifier,
|
||||
@@ -240,7 +254,6 @@ export function attachEditableDropdownStyler(widget: IThemable, themeService: IT
|
||||
listInactiveFocusOutline?: cr.ColorIdentifier,
|
||||
listSelectionOutline?: cr.ColorIdentifier,
|
||||
listHoverOutline?: cr.ColorIdentifier,
|
||||
|
||||
inputBackground?: cr.ColorIdentifier,
|
||||
inputForeground?: cr.ColorIdentifier,
|
||||
inputBorder?: cr.ColorIdentifier,
|
||||
@@ -252,43 +265,53 @@ export function attachEditableDropdownStyler(widget: IThemable, themeService: IT
|
||||
inputValidationErrorBackground?: cr.ColorIdentifier,
|
||||
contextBackground?: cr.ColorIdentifier,
|
||||
contextBorder?: cr.ColorIdentifier
|
||||
}): IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
listFocusBackground: (style && style.listFocusBackground) || cr.listFocusBackground,
|
||||
listFocusForeground: (style && style.listFocusForeground) || cr.listFocusForeground,
|
||||
listActiveSelectionBackground: (style && style.listActiveSelectionBackground) || cr.lighten(cr.listActiveSelectionBackground, 0.1),
|
||||
listActiveSelectionForeground: (style && style.listActiveSelectionForeground) || cr.listActiveSelectionForeground,
|
||||
listFocusAndSelectionBackground: style && style.listFocusAndSelectionBackground || cr.listActiveSelectionBackground,
|
||||
listFocusAndSelectionForeground: (style && style.listFocusAndSelectionForeground) || cr.listActiveSelectionForeground,
|
||||
listInactiveFocusBackground: (style && style.listInactiveFocusBackground),
|
||||
listInactiveSelectionBackground: (style && style.listInactiveSelectionBackground) || cr.listInactiveSelectionBackground,
|
||||
listInactiveSelectionForeground: (style && style.listInactiveSelectionForeground) || cr.listInactiveSelectionForeground,
|
||||
listHoverBackground: (style && style.listHoverBackground) || cr.listHoverBackground,
|
||||
listHoverForeground: (style && style.listHoverForeground) || cr.listHoverForeground,
|
||||
listDropBackground: (style && style.listDropBackground) || cr.listDropBackground,
|
||||
listFocusOutline: (style && style.listFocusOutline) || cr.activeContrastBorder,
|
||||
listSelectionOutline: (style && style.listSelectionOutline) || cr.activeContrastBorder,
|
||||
listHoverOutline: (style && style.listHoverOutline) || cr.activeContrastBorder,
|
||||
listInactiveFocusOutline: style && style.listInactiveFocusOutline,
|
||||
inputBackground: (style && style.inputBackground) || cr.inputBackground,
|
||||
inputForeground: (style && style.inputForeground) || cr.inputForeground,
|
||||
inputBorder: (style && style.inputBorder) || cr.inputBorder,
|
||||
inputValidationInfoBorder: (style && style.inputValidationInfoBorder) || cr.inputValidationInfoBorder,
|
||||
inputValidationInfoBackground: (style && style.inputValidationInfoBackground) || cr.inputValidationInfoBackground,
|
||||
inputValidationWarningBorder: (style && style.inputValidationWarningBorder) || cr.inputValidationWarningBorder,
|
||||
inputValidationWarningBackground: (style && style.inputValidationWarningBackground) || cr.inputValidationWarningBackground,
|
||||
inputValidationErrorBorder: (style && style.inputValidationErrorBorder) || cr.inputValidationErrorBorder,
|
||||
inputValidationErrorBackground: (style && style.inputValidationErrorBackground) || cr.inputValidationErrorBackground,
|
||||
contextBackground: (style && style.contextBackground) || cr.editorBackground,
|
||||
contextBorder: (style && style.contextBorder) || cr.inputBorder
|
||||
}, widget);
|
||||
}
|
||||
|
||||
export function attachCheckboxStyler(widget: IThemable, themeService: IThemeService, style?: { disabledCheckboxForeground?: cr.ColorIdentifier })
|
||||
: IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
disabledCheckboxForeground: (style && style.disabledCheckboxForeground) || colors.disabledCheckboxForeground
|
||||
}, widget);
|
||||
export const defaultEditableDropdownStyleOverrides: IEditableDropdownStyleOverrides = {
|
||||
listFocusBackground: cr.listFocusBackground,
|
||||
listFocusForeground: cr.listFocusForeground,
|
||||
listActiveSelectionBackground: cr.listActiveSelectionBackground,
|
||||
listActiveSelectionForeground: cr.listActiveSelectionForeground,
|
||||
listFocusAndSelectionBackground: cr.listActiveSelectionBackground,
|
||||
listFocusAndSelectionForeground: cr.listActiveSelectionForeground,
|
||||
listInactiveFocusBackground: cr.listInactiveFocusBackground,
|
||||
listInactiveSelectionBackground: cr.listInactiveSelectionBackground,
|
||||
listInactiveSelectionForeground: cr.listInactiveSelectionForeground,
|
||||
listHoverBackground: cr.listHoverBackground,
|
||||
listHoverForeground: cr.listHoverForeground,
|
||||
listDropBackground: cr.listDropBackground,
|
||||
listFocusOutline: cr.activeContrastBorder,
|
||||
listSelectionOutline: cr.activeContrastBorder,
|
||||
listHoverOutline: cr.activeContrastBorder,
|
||||
listInactiveFocusOutline: cr.listInactiveFocusOutline,
|
||||
inputBackground: cr.inputBackground,
|
||||
inputForeground: cr.inputForeground,
|
||||
inputBorder: cr.inputBorder,
|
||||
inputValidationInfoBorder: cr.inputValidationInfoBorder,
|
||||
inputValidationInfoBackground: cr.inputValidationInfoBackground,
|
||||
inputValidationWarningBorder: cr.inputValidationWarningBorder,
|
||||
inputValidationWarningBackground: cr.inputValidationWarningBackground,
|
||||
inputValidationErrorBorder: cr.inputValidationErrorBorder,
|
||||
inputValidationErrorBackground: cr.inputValidationErrorBackground,
|
||||
contextBackground: cr.editorBackground,
|
||||
contextBorder: cr.inputBorder
|
||||
};
|
||||
|
||||
|
||||
export function attachEditableDropdownStyler(widget: IThemable, themeService: IThemeService, style?: IEditableDropdownStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, { ...defaultEditableDropdownStyleOverrides, ...(style || {}) }, widget);
|
||||
}
|
||||
|
||||
export interface ICheckboxStyleOverrides extends IStyleOverrides {
|
||||
disabledCheckboxForeground?: cr.ColorIdentifier
|
||||
}
|
||||
|
||||
export const defaultCheckboxStyleOverrides: ICheckboxStyleOverrides = {
|
||||
disabledCheckboxForeground: colors.disabledCheckboxForeground
|
||||
};
|
||||
|
||||
export function attachCheckboxStyler(widget: IThemable, themeService: IThemeService, style?: ICheckboxStyleOverrides): IDisposable {
|
||||
return attachStyler(themeService, {}, widget);
|
||||
}
|
||||
|
||||
export interface IInfoBoxStyleOverrides {
|
||||
@@ -329,9 +352,7 @@ export function attachInfoButtonStyler(widget: IThemable, themeService: IThemeSe
|
||||
|
||||
export function attachTableFilterStyler(widget: IThemable, themeService: IThemeService): IDisposable {
|
||||
return attachStyler(themeService, {
|
||||
inputBackground: cr.inputBackground,
|
||||
inputForeground: cr.inputForeground,
|
||||
inputBorder: cr.inputBorder,
|
||||
...defaultInputBoxStyleOverrides,
|
||||
buttonForeground: cr.buttonForeground,
|
||||
buttonBackground: cr.buttonBackground,
|
||||
buttonHoverBackground: cr.buttonHoverBackground,
|
||||
@@ -349,3 +370,23 @@ export function attachTableFilterStyler(widget: IThemable, themeService: IThemeS
|
||||
...defaultListStyles,
|
||||
}, widget);
|
||||
}
|
||||
|
||||
export function attachDesignerStyler(widget: any, themeService: IThemeService): IDisposable {
|
||||
function applyStyles(): void {
|
||||
const colorTheme = themeService.getColorTheme();
|
||||
const inputStyles = computeStyles(colorTheme, defaultInputBoxStyleOverrides);
|
||||
const selectBoxStyles = computeStyles(colorTheme, defaultSelectBoxStyleOverrides);
|
||||
const tableStyles = computeStyles(colorTheme, defaultTableStyleOverrides);
|
||||
const checkboxStyles = computeStyles(colorTheme, defaultCheckboxStyleOverrides);
|
||||
widget.style({
|
||||
inputBoxStyles: inputStyles,
|
||||
selectBoxStyles: selectBoxStyles,
|
||||
tableStyles: tableStyles,
|
||||
checkboxStyles: checkboxStyles
|
||||
});
|
||||
}
|
||||
|
||||
applyStyles();
|
||||
|
||||
return themeService.onDidColorThemeChange(applyStyles);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user