Add support for dynamic enablement of resource deployment components (#13464)

* saving wip to merge main

* temp fixes for textValidation* removal

* save wip to switch tasks

* save wip to switch tasks

* save wip to switch tasks

* code complete - with known bugs

* missed test file

* fix extHostModelView changes

* validation module

* missed test changes

* missed change

* pr feedback

* pr feedback

* revert inadvertent change

* remove unneeded change

* merge from bug/12082-2

* pr feedback

* pr feedback

* bdd -> tdd for validation tests

* bdd -> tdd for validation tests

* pr feedback

* remove unneeded file

* pr feedback

* EOL instead of '\n'

* pr feedback

* pr feedback

* minor fixes.

* pr feedback

* fix comment

* comments and var renames

* test fixes

* working version after validation simplification

* working version after validation simplification

* remove inadvertent change

* simplified validations

* undo uneeded change

* cleanup

* working version after latest merge

* comments and whitespace fixes

* remove is_integer checks

* sentence case field validation messages

* Use generic strings in sample fields

* minor fixes to sample extension strings

* spaces to tabs for indentation

* request fields before limit fields

* reaarange request/limit fields

* is_integer checks for PG Server Group number fields

* Thenable to Promise

* InputBoxInfo

* pr feedback

* pr feedback

* isUndefinedOrEmpty to utils

* include asde package.json

* use ValidationValueType

* ValidationValueType -> InputValueType

* Add support for dynamic enablement of resource deployment components

* use instanceof function

* getValue returns InputValueType

Co-authored-by: Arvind Ranasaria <ranasaria@outlook.com>
This commit is contained in:
Charles Gagnon
2020-11-19 16:23:28 -08:00
committed by GitHub
parent 870ff39527
commit 175d46d508
8 changed files with 241 additions and 103 deletions

View File

@@ -211,6 +211,10 @@ export function instanceOfCommandBasedDialogInfo(obj: any): obj is CommandBasedD
return obj && 'command' in obj;
}
export function instanceOfDynamicEnablementInfo(obj: any): obj is DynamicEnablementInfo {
return (<DynamicEnablementInfo>obj)?.target !== undefined && (<DynamicEnablementInfo>obj)?.value !== undefined;
}
export interface DialogInfoBase {
title: string;
name: string;
@@ -252,6 +256,11 @@ export interface OptionsInfo {
optionsType?: OptionsType
}
export interface DynamicEnablementInfo {
target: string,
value: string
}
export interface FieldInfoBase {
labelWidth?: string;
inputWidth?: string;
@@ -296,7 +305,7 @@ export interface FieldInfo extends SubFieldInfo, FieldInfoBase {
fontWeight?: FontWeight;
links?: azdata.LinkArea[];
editable?: boolean; // for editable drop-down,
enabled?: boolean;
enabled?: boolean | DynamicEnablementInfo;
isEvaluated?: boolean;
valueLookup?: string; // for fetching dropdown options
validationLookup?: string // for fetching text field validations