mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-23 19:01:28 +00:00
Compare commits
2 Commits
index-arch
...
add-eslint
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27d129e689 | ||
|
|
fb9f97b43a |
@@ -3,8 +3,8 @@ module.exports = {
|
|||||||
browser: true,
|
browser: true,
|
||||||
es6: true,
|
es6: true,
|
||||||
},
|
},
|
||||||
plugins: ["@typescript-eslint", "no-null", "prefer-arrow", "react-hooks"],
|
plugins: ["@typescript-eslint", "no-null", "prefer-arrow", "react-hooks", "jsx-a11y"],
|
||||||
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
|
extends: ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:jsx-a11y/recommended"],
|
||||||
globals: {
|
globals: {
|
||||||
Atomics: "readonly",
|
Atomics: "readonly",
|
||||||
SharedArrayBuffer: "readonly",
|
SharedArrayBuffer: "readonly",
|
||||||
|
|||||||
@@ -3079,3 +3079,6 @@ settings-pane {
|
|||||||
background: white;
|
background: white;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
.moreOption {
|
||||||
|
color: #337ab7;
|
||||||
|
}
|
||||||
91
package-lock.json
generated
91
package-lock.json
generated
@@ -6809,6 +6809,11 @@
|
|||||||
"integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
|
"integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"ast-types-flow": {
|
||||||
|
"version": "0.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
|
||||||
|
"integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0="
|
||||||
|
},
|
||||||
"astral-regex": {
|
"astral-regex": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
|
||||||
@@ -6876,6 +6881,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
|
||||||
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
"integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA=="
|
||||||
},
|
},
|
||||||
|
"axe-core": {
|
||||||
|
"version": "4.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.3.tgz",
|
||||||
|
"integrity": "sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA=="
|
||||||
|
},
|
||||||
"axios": {
|
"axios": {
|
||||||
"version": "0.21.1",
|
"version": "0.21.1",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
|
||||||
@@ -6891,6 +6901,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"axobject-query": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA=="
|
||||||
|
},
|
||||||
"babel-code-frame": {
|
"babel-code-frame": {
|
||||||
"version": "6.26.0",
|
"version": "6.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||||
@@ -8878,6 +8893,11 @@
|
|||||||
"d3-transition": "2"
|
"d3-transition": "2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"damerau-levenshtein": {
|
||||||
|
"version": "1.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz",
|
||||||
|
"integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw=="
|
||||||
|
},
|
||||||
"dashdash": {
|
"dashdash": {
|
||||||
"version": "1.14.1",
|
"version": "1.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
|
||||||
@@ -10171,6 +10191,64 @@
|
|||||||
"@typescript-eslint/experimental-utils": "^2.5.0"
|
"@typescript-eslint/experimental-utils": "^2.5.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"eslint-plugin-jsx-a11y": {
|
||||||
|
"version": "6.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz",
|
||||||
|
"integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==",
|
||||||
|
"requires": {
|
||||||
|
"@babel/runtime": "^7.11.2",
|
||||||
|
"aria-query": "^4.2.2",
|
||||||
|
"array-includes": "^3.1.1",
|
||||||
|
"ast-types-flow": "^0.0.7",
|
||||||
|
"axe-core": "^4.0.2",
|
||||||
|
"axobject-query": "^2.2.0",
|
||||||
|
"damerau-levenshtein": "^1.0.6",
|
||||||
|
"emoji-regex": "^9.0.0",
|
||||||
|
"has": "^1.0.3",
|
||||||
|
"jsx-ast-utils": "^3.1.0",
|
||||||
|
"language-tags": "^1.0.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"emoji-regex": {
|
||||||
|
"version": "9.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
|
||||||
|
"integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg=="
|
||||||
|
},
|
||||||
|
"get-intrinsic": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
|
||||||
|
"requires": {
|
||||||
|
"function-bind": "^1.1.1",
|
||||||
|
"has": "^1.0.3",
|
||||||
|
"has-symbols": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jsx-ast-utils": {
|
||||||
|
"version": "3.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz",
|
||||||
|
"integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==",
|
||||||
|
"requires": {
|
||||||
|
"array-includes": "^3.1.3",
|
||||||
|
"object.assign": "^4.1.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"array-includes": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.2",
|
||||||
|
"define-properties": "^1.1.3",
|
||||||
|
"es-abstract": "^1.18.0-next.2",
|
||||||
|
"get-intrinsic": "^1.1.1",
|
||||||
|
"is-string": "^1.0.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"eslint-plugin-no-null": {
|
"eslint-plugin-no-null": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-no-null/-/eslint-plugin-no-null-1.0.2.tgz",
|
||||||
@@ -18065,6 +18143,19 @@
|
|||||||
"resolved": "https://registry.npmjs.org/labella/-/labella-1.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/labella/-/labella-1.1.4.tgz",
|
||||||
"integrity": "sha1-xsxaNA6N80DrM1YzaD6lm4KMMi0="
|
"integrity": "sha1-xsxaNA6N80DrM1YzaD6lm4KMMi0="
|
||||||
},
|
},
|
||||||
|
"language-subtag-registry": {
|
||||||
|
"version": "0.3.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz",
|
||||||
|
"integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg=="
|
||||||
|
},
|
||||||
|
"language-tags": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz",
|
||||||
|
"integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=",
|
||||||
|
"requires": {
|
||||||
|
"language-subtag-registry": "~0.3.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"lcid": {
|
"lcid": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
|
||||||
|
|||||||
@@ -61,6 +61,7 @@
|
|||||||
"dom-to-image": "2.6.0",
|
"dom-to-image": "2.6.0",
|
||||||
"dotenv": "8.2.0",
|
"dotenv": "8.2.0",
|
||||||
"eslint-plugin-jest": "23.13.2",
|
"eslint-plugin-jest": "23.13.2",
|
||||||
|
"eslint-plugin-jsx-a11y": "6.4.1",
|
||||||
"eslint-plugin-react": "7.20.0",
|
"eslint-plugin-react": "7.20.0",
|
||||||
"hasher": "1.2.0",
|
"hasher": "1.2.0",
|
||||||
"html2canvas": "1.0.0-rc.5",
|
"html2canvas": "1.0.0-rc.5",
|
||||||
|
|||||||
@@ -31,17 +31,15 @@ export const CollapsedResourceTree: FunctionComponent<CollapsedResourceTreeProps
|
|||||||
<div id="mini" className={!isLeftPaneExpanded ? "mini toggle-mini" : "hiddenMain"}>
|
<div id="mini" className={!isLeftPaneExpanded ? "mini toggle-mini" : "hiddenMain"}>
|
||||||
<div className="main-nav nav">
|
<div className="main-nav nav">
|
||||||
<ul className="nav">
|
<ul className="nav">
|
||||||
<li
|
<li className="resourceTreeCollapse" id="collapseToggleLeftPaneButton" aria-label="Expand Tree">
|
||||||
className="resourceTreeCollapse"
|
<span
|
||||||
id="collapseToggleLeftPaneButton"
|
className="leftarrowCollapsed"
|
||||||
role="button"
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
aria-label="Expand Tree"
|
|
||||||
onClick={toggleLeftPaneExpanded}
|
onClick={toggleLeftPaneExpanded}
|
||||||
onKeyPress={onKeyPressToggleLeftPaneExpanded}
|
onKeyPress={onKeyPressToggleLeftPaneExpanded}
|
||||||
ref={focusButton}
|
ref={focusButton}
|
||||||
>
|
>
|
||||||
<span className="leftarrowCollapsed">
|
|
||||||
<img className="arrowCollapsed" src={arrowLeftImg} alt="Expand" />
|
<img className="arrowCollapsed" src={arrowLeftImg} alt="Expand" />
|
||||||
</span>
|
</span>
|
||||||
<span className="collectionCollapsed">
|
<span className="collectionCollapsed">
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ export const EntityValue: FunctionComponent<TableEntityProps> = ({
|
|||||||
<TextField
|
<TextField
|
||||||
label={entityValueLabel && entityValueLabel}
|
label={entityValueLabel && entityValueLabel}
|
||||||
id="entityTimeId"
|
id="entityTimeId"
|
||||||
autoFocus
|
|
||||||
type="time"
|
type="time"
|
||||||
value={entityTimeValue}
|
value={entityTimeValue}
|
||||||
onChange={onEntityTimeValueChange}
|
onChange={onEntityTimeValueChange}
|
||||||
@@ -55,7 +54,6 @@ export const EntityValue: FunctionComponent<TableEntityProps> = ({
|
|||||||
label={entityValueLabel && entityValueLabel}
|
label={entityValueLabel && entityValueLabel}
|
||||||
className="addEntityTextField"
|
className="addEntityTextField"
|
||||||
id="entityValueId"
|
id="entityValueId"
|
||||||
autoFocus
|
|
||||||
disabled={isEntityValueDisable}
|
disabled={isEntityValueDisable}
|
||||||
type={entityValueType}
|
type={entityValueType}
|
||||||
placeholder={entityValuePlaceholder}
|
placeholder={entityValuePlaceholder}
|
||||||
|
|||||||
@@ -96,7 +96,6 @@ export const TableEntity: FunctionComponent<TableEntityProps> = ({
|
|||||||
<TextField
|
<TextField
|
||||||
label={entityPropertyLabel && entityPropertyLabel}
|
label={entityPropertyLabel && entityPropertyLabel}
|
||||||
id="entityPropertyId"
|
id="entityPropertyId"
|
||||||
autoFocus
|
|
||||||
disabled={isPropertyTypeDisable}
|
disabled={isPropertyTypeDisable}
|
||||||
placeholder={entityPropertyPlaceHolder}
|
placeholder={entityPropertyPlaceHolder}
|
||||||
value={entityProperty}
|
value={entityProperty}
|
||||||
|
|||||||
@@ -66,9 +66,15 @@ export const Upload: FunctionComponent<UploadProps> = ({
|
|||||||
onChange={onUpload}
|
onChange={onUpload}
|
||||||
role="button"
|
role="button"
|
||||||
/>
|
/>
|
||||||
<a href="#" id="fileImportLinkNotebook" onClick={onImportLinkClick} onKeyPress={onImportLinkKeyPress}>
|
<span
|
||||||
|
id="fileImportLinkNotebook"
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onClick={onImportLinkClick}
|
||||||
|
onKeyPress={onImportLinkKeyPress}
|
||||||
|
>
|
||||||
<Image className="fileImportImg" src={FolderIcon} alt={title} title={title} />
|
<Image className="fileImportImg" src={FolderIcon} alt={title} title={title} />
|
||||||
</a>
|
</span>
|
||||||
</Stack>
|
</Stack>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -55,7 +55,13 @@ export class AccordionItemComponent extends React.Component<AccordionItemCompone
|
|||||||
public render(): JSX.Element {
|
public render(): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<div className="accordionItemContainer">
|
<div className="accordionItemContainer">
|
||||||
<div className="accordionItemHeader" onClick={this.onHeaderClick} onKeyPress={this.onHeaderKeyPress}>
|
<div
|
||||||
|
className="accordionItemHeader"
|
||||||
|
onClick={this.onHeaderClick}
|
||||||
|
onKeyPress={this.onHeaderKeyPress}
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
>
|
||||||
{this.renderCollapseExpandIcon()}
|
{this.renderCollapseExpandIcon()}
|
||||||
{this.props.title}
|
{this.props.title}
|
||||||
</div>
|
</div>
|
||||||
@@ -74,8 +80,6 @@ export class AccordionItemComponent extends React.Component<AccordionItemCompone
|
|||||||
className="expandCollapseIcon"
|
className="expandCollapseIcon"
|
||||||
src={this.state.isExpanded ? TriangleDownIcon : TriangleRightIcon}
|
src={this.state.isExpanded ? TriangleDownIcon : TriangleRightIcon}
|
||||||
alt="Hide"
|
alt="Hide"
|
||||||
tabIndex={0}
|
|
||||||
role="button"
|
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export class CollapsibleSectionComponent extends React.Component<CollapsibleSect
|
|||||||
onClick={this.toggleCollapsed}
|
onClick={this.toggleCollapsed}
|
||||||
onKeyPress={this.onKeyPress}
|
onKeyPress={this.onKeyPress}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
aria-name="Advanced"
|
aria-label="Advanced"
|
||||||
role="button"
|
role="button"
|
||||||
aria-expanded={this.state.isExpanded}
|
aria-expanded={this.state.isExpanded}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ exports[`CollapsibleSectionComponent renders 1`] = `
|
|||||||
<Fragment>
|
<Fragment>
|
||||||
<Stack
|
<Stack
|
||||||
aria-expanded={true}
|
aria-expanded={true}
|
||||||
aria-name="Advanced"
|
aria-label="Advanced"
|
||||||
className="collapsibleSection"
|
className="collapsibleSection"
|
||||||
horizontal={true}
|
horizontal={true}
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
|
|||||||
@@ -188,12 +188,13 @@ export class CommandButtonComponent extends React.Component<CommandButtonCompone
|
|||||||
ref={(ref: HTMLElement) => {
|
ref={(ref: HTMLElement) => {
|
||||||
this.expandButtonElt = ref;
|
this.expandButtonElt = ref;
|
||||||
}}
|
}}
|
||||||
|
role="button"
|
||||||
onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => this.onLauncherKeyDown(e)}
|
onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => this.onLauncherKeyDown(e)}
|
||||||
>
|
>
|
||||||
<div className="commandDropdownLauncher">
|
<div className="commandDropdownLauncher">
|
||||||
<span className="partialSplitter" />
|
<span className="partialSplitter" />
|
||||||
<span className="expandDropdown">
|
<span className="expandDropdown">
|
||||||
<img src={CollapseChevronDownIcon} />
|
<img src={CollapseChevronDownIcon} alt="Collapse down icon" />
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ export class QueriesGridComponent extends React.Component<QueriesGridComponentPr
|
|||||||
To write a new query, open a new query tab and enter the desired query. Once ready to save, click on Save
|
To write a new query, open a new query tab and enter the desired query. Once ready to save, click on Save
|
||||||
Query and follow the prompt in order to save the query.
|
Query and follow the prompt in order to save the query.
|
||||||
</div>
|
</div>
|
||||||
<img {...bannerProps} />
|
<img {...bannerProps} alt="Save query helper banner" />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ export class IndexingPolicyComponent extends React.Component<
|
|||||||
{isDirty(this.props.indexingPolicyContent, this.props.indexingPolicyContentBaseline) && (
|
{isDirty(this.props.indexingPolicyContent, this.props.indexingPolicyContentBaseline) && (
|
||||||
<MessageBar messageBarType={MessageBarType.warning}>{indexingPolicynUnsavedWarningMessage}</MessageBar>
|
<MessageBar messageBarType={MessageBarType.warning}>{indexingPolicynUnsavedWarningMessage}</MessageBar>
|
||||||
)}
|
)}
|
||||||
<div className="settingsV2IndexingPolicyEditor" tabIndex={0} ref={this.indexingPolicyDiv}></div>
|
<div className="settingsV2IndexingPolicyEditor" ref={this.indexingPolicyDiv}></div>
|
||||||
</Stack>
|
</Stack>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ exports[`IndexingPolicyComponent renders 1`] = `
|
|||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
className="settingsV2IndexingPolicyEditor"
|
className="settingsV2IndexingPolicyEditor"
|
||||||
tabIndex={0}
|
|
||||||
/>
|
/>
|
||||||
</Stack>
|
</Stack>
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -118,10 +118,8 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
|
|||||||
<input
|
<input
|
||||||
className="throughputInputRadioBtn"
|
className="throughputInputRadioBtn"
|
||||||
aria-label="Autoscale mode"
|
aria-label="Autoscale mode"
|
||||||
aria-required={true}
|
|
||||||
checked={isAutoscaleSelected}
|
checked={isAutoscaleSelected}
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={(e) => handleOnChangeMode(e, "Autoscale")}
|
onChange={(e) => handleOnChangeMode(e, "Autoscale")}
|
||||||
/>
|
/>
|
||||||
@@ -132,8 +130,6 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
|
|||||||
aria-label="Manual mode"
|
aria-label="Manual mode"
|
||||||
checked={!isAutoscaleSelected}
|
checked={!isAutoscaleSelected}
|
||||||
type="radio"
|
type="radio"
|
||||||
aria-required={true}
|
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={(e) => handleOnChangeMode(e, "Manual")}
|
onChange={(e) => handleOnChangeMode(e, "Manual")}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -654,12 +654,10 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
|
|||||||
>
|
>
|
||||||
<input
|
<input
|
||||||
aria-label="Autoscale mode"
|
aria-label="Autoscale mode"
|
||||||
aria-required={true}
|
|
||||||
checked={true}
|
checked={true}
|
||||||
className="throughputInputRadioBtn"
|
className="throughputInputRadioBtn"
|
||||||
key=".0:$.0"
|
key=".0:$.0"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
type="radio"
|
type="radio"
|
||||||
/>
|
/>
|
||||||
@@ -671,12 +669,10 @@ exports[`ThroughputInput Pane should render Default properly 1`] = `
|
|||||||
</span>
|
</span>
|
||||||
<input
|
<input
|
||||||
aria-label="Manual mode"
|
aria-label="Manual mode"
|
||||||
aria-required={true}
|
|
||||||
checked={false}
|
checked={false}
|
||||||
className="throughputInputRadioBtn"
|
className="throughputInputRadioBtn"
|
||||||
key=".0:$.2"
|
key=".0:$.2"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
type="radio"
|
type="radio"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -214,8 +214,14 @@ export class EditorNeighborsComponent extends React.Component<EditorNeighborsCom
|
|||||||
/>
|
/>
|
||||||
</td>
|
</td>
|
||||||
<td className="actionCol">
|
<td className="actionCol">
|
||||||
<span className="rightPaneTrashIcon rightPaneBtns">
|
<span
|
||||||
<img src={DeleteIcon} alt="Delete" onClick={() => this.removeAddedEdgeToNeighbor(index)} />
|
className="rightPaneTrashIcon rightPaneBtns"
|
||||||
|
role="button"
|
||||||
|
onKeyPress={() => this.removeAddedEdgeToNeighbor(index)}
|
||||||
|
onClick={() => this.removeAddedEdgeToNeighbor(index)}
|
||||||
|
tabIndex={0}
|
||||||
|
>
|
||||||
|
<img src={DeleteIcon} alt="Delete" />
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ export class EditorNodePropertiesComponent extends React.Component<EditorNodePro
|
|||||||
<select
|
<select
|
||||||
className="typeSelect"
|
className="typeSelect"
|
||||||
value={singleValue.type}
|
value={singleValue.type}
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
singleValue.type = e.target.value as ViewModels.InputPropertyValueTypeString;
|
singleValue.type = e.target.value as ViewModels.InputPropertyValueTypeString;
|
||||||
if (singleValue.type === "null") {
|
if (singleValue.type === "null") {
|
||||||
singleValue.value = undefined;
|
singleValue.value = undefined;
|
||||||
@@ -217,7 +217,7 @@ export class EditorNodePropertiesComponent extends React.Component<EditorNodePro
|
|||||||
<select
|
<select
|
||||||
className="typeSelect"
|
className="typeSelect"
|
||||||
value={firstValue.type}
|
value={firstValue.type}
|
||||||
onChange={(e) => {
|
onBlur={(e) => {
|
||||||
firstValue.type = e.target.value as ViewModels.InputPropertyValueTypeString;
|
firstValue.type = e.target.value as ViewModels.InputPropertyValueTypeString;
|
||||||
this.props.onUpdateProperties(this.props.editedProperties);
|
this.props.onUpdateProperties(this.props.editedProperties);
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ exports[`<EditorNodePropertiesComponent /> renders component 1`] = `
|
|||||||
<td>
|
<td>
|
||||||
<select
|
<select
|
||||||
className="typeSelect"
|
className="typeSelect"
|
||||||
onChange={[Function]}
|
onBlur={[Function]}
|
||||||
required={true}
|
required={true}
|
||||||
value="string"
|
value="string"
|
||||||
>
|
>
|
||||||
@@ -282,7 +282,7 @@ exports[`<EditorNodePropertiesComponent /> renders proper unicode 1`] = `
|
|||||||
<td>
|
<td>
|
||||||
<select
|
<select
|
||||||
className="typeSelect"
|
className="typeSelect"
|
||||||
onChange={[Function]}
|
onBlur={[Function]}
|
||||||
required={true}
|
required={true}
|
||||||
value="string"
|
value="string"
|
||||||
>
|
>
|
||||||
@@ -344,7 +344,7 @@ exports[`<EditorNodePropertiesComponent /> renders proper unicode 1`] = `
|
|||||||
<td>
|
<td>
|
||||||
<select
|
<select
|
||||||
className="typeSelect"
|
className="typeSelect"
|
||||||
onChange={[Function]}
|
onBlur={[Function]}
|
||||||
required={true}
|
required={true}
|
||||||
value="string"
|
value="string"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -132,7 +132,6 @@ export const NewVertexComponent: FunctionComponent<INewVertexComponentProps> = (
|
|||||||
onChange={(event: React.ChangeEvent<HTMLInputElement>) => {
|
onChange={(event: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
onLabelChange(event);
|
onLabelChange(event);
|
||||||
}}
|
}}
|
||||||
autoFocus
|
|
||||||
/>
|
/>
|
||||||
<div className="actionCol"></div>
|
<div className="actionCol"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ export class NotificationConsoleComponent extends React.Component<
|
|||||||
onClick={() => this.expandCollapseConsole()}
|
onClick={() => this.expandCollapseConsole()}
|
||||||
onKeyDown={(event: React.KeyboardEvent<HTMLDivElement>) => this.onExpandCollapseKeyPress(event)}
|
onKeyDown={(event: React.KeyboardEvent<HTMLDivElement>) => this.onExpandCollapseKeyPress(event)}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
|
role="button"
|
||||||
>
|
>
|
||||||
<div className="statusBar">
|
<div className="statusBar">
|
||||||
<span className="dataTypeIcons">
|
<span className="dataTypeIcons">
|
||||||
@@ -162,7 +163,7 @@ export class NotificationConsoleComponent extends React.Component<
|
|||||||
onKeyDown={(event: React.KeyboardEvent<HTMLSpanElement>) => this.onClearNotificationsKeyPress(event)}
|
onKeyDown={(event: React.KeyboardEvent<HTMLSpanElement>) => this.onClearNotificationsKeyPress(event)}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<img src={ClearIcon} alt="clear notifications image" />
|
<img src={ClearIcon} alt="clear notifications icon" />
|
||||||
Clear Notifications
|
Clear Notifications
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ exports[`NotificationConsoleComponent renders the console 1`] = `
|
|||||||
id="notificationConsoleHeader"
|
id="notificationConsoleHeader"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -150,7 +151,7 @@ exports[`NotificationConsoleComponent renders the console 1`] = `
|
|||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="clear notifications image"
|
alt="clear notifications icon"
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
Clear Notifications
|
Clear Notifications
|
||||||
@@ -173,6 +174,7 @@ exports[`NotificationConsoleComponent renders the console 2`] = `
|
|||||||
id="notificationConsoleHeader"
|
id="notificationConsoleHeader"
|
||||||
onClick={[Function]}
|
onClick={[Function]}
|
||||||
onKeyDown={[Function]}
|
onKeyDown={[Function]}
|
||||||
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -316,7 +318,7 @@ exports[`NotificationConsoleComponent renders the console 2`] = `
|
|||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<img
|
<img
|
||||||
alt="clear notifications image"
|
alt="clear notifications icon"
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
Clear Notifications
|
Clear Notifications
|
||||||
|
|||||||
@@ -173,7 +173,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-checked={this.state.createNewDatabase}
|
aria-checked={this.state.createNewDatabase}
|
||||||
name="databaseType"
|
name="databaseType"
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
id="databaseCreateNew"
|
id="databaseCreateNew"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onCreateNewDatabaseRadioBtnChange.bind(this)}
|
onChange={this.onCreateNewDatabaseRadioBtnChange.bind(this)}
|
||||||
@@ -187,7 +186,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-checked={!this.state.createNewDatabase}
|
aria-checked={!this.state.createNewDatabase}
|
||||||
name="databaseType"
|
name="databaseType"
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onUseExistingDatabaseRadioBtnChange.bind(this)}
|
onChange={this.onUseExistingDatabaseRadioBtnChange.bind(this)}
|
||||||
/>
|
/>
|
||||||
@@ -209,7 +207,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
size={40}
|
size={40}
|
||||||
className="panelTextField"
|
className="panelTextField"
|
||||||
aria-label="New database id"
|
aria-label="New database id"
|
||||||
autoFocus
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
value={this.state.newDatabaseId}
|
value={this.state.newDatabaseId}
|
||||||
onChange={(event: React.ChangeEvent<HTMLInputElement>) =>
|
onChange={(event: React.ChangeEvent<HTMLInputElement>) =>
|
||||||
@@ -320,7 +317,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-label="Turn on indexing"
|
aria-label="Turn on indexing"
|
||||||
aria-checked={this.state.enableIndexing}
|
aria-checked={this.state.enableIndexing}
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onTurnOnIndexing.bind(this)}
|
onChange={this.onTurnOnIndexing.bind(this)}
|
||||||
/>
|
/>
|
||||||
@@ -332,7 +328,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-label="Turn off indexing"
|
aria-label="Turn off indexing"
|
||||||
aria-checked={!this.state.enableIndexing}
|
aria-checked={!this.state.enableIndexing}
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onTurnOffIndexing.bind(this)}
|
onChange={this.onTurnOffIndexing.bind(this)}
|
||||||
/>
|
/>
|
||||||
@@ -375,7 +370,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-checked={!this.state.isSharded}
|
aria-checked={!this.state.isSharded}
|
||||||
name="unsharded"
|
name="unsharded"
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
id="unshardedOption"
|
id="unshardedOption"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onUnshardedRadioBtnChange.bind(this)}
|
onChange={this.onUnshardedRadioBtnChange.bind(this)}
|
||||||
@@ -389,7 +383,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-checked={this.state.isSharded}
|
aria-checked={this.state.isSharded}
|
||||||
name="sharded"
|
name="sharded"
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
id="shardedOption"
|
id="shardedOption"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onShardedRadioBtnChange.bind(this)}
|
onChange={this.onShardedRadioBtnChange.bind(this)}
|
||||||
@@ -515,7 +508,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
: "Comma separated paths e.g. /firstName,/address/zipCode"
|
: "Comma separated paths e.g. /firstName,/address/zipCode"
|
||||||
}
|
}
|
||||||
className="panelTextField"
|
className="panelTextField"
|
||||||
autoFocus
|
|
||||||
value={uniqueKey}
|
value={uniqueKey}
|
||||||
onChange={(event: React.ChangeEvent<HTMLInputElement>) => {
|
onChange={(event: React.ChangeEvent<HTMLInputElement>) => {
|
||||||
const uniqueKeys = this.state.uniqueKeys.map((uniqueKey: string, j: number) => {
|
const uniqueKeys = this.state.uniqueKeys.map((uniqueKey: string, j: number) => {
|
||||||
@@ -574,7 +566,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-checked={this.state.enableAnalyticalStore}
|
aria-checked={this.state.enableAnalyticalStore}
|
||||||
name="analyticalStore"
|
name="analyticalStore"
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
id="enableAnalyticalStoreBtn"
|
id="enableAnalyticalStoreBtn"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onEnableAnalyticalStoreRadioBtnChange.bind(this)}
|
onChange={this.onEnableAnalyticalStoreRadioBtnChange.bind(this)}
|
||||||
@@ -589,7 +580,6 @@ export class AddCollectionPanel extends React.Component<AddCollectionPanelProps,
|
|||||||
aria-checked={!this.state.enableAnalyticalStore}
|
aria-checked={!this.state.enableAnalyticalStore}
|
||||||
name="analyticalStore"
|
name="analyticalStore"
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
id="disableAnalyticalStoreBtn"
|
id="disableAnalyticalStoreBtn"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={this.onDisableAnalyticalStoreRadioBtnChange.bind(this)}
|
onChange={this.onDisableAnalyticalStoreRadioBtnChange.bind(this)}
|
||||||
|
|||||||
@@ -210,7 +210,6 @@ export const AddDatabasePanel: FunctionComponent<AddDatabasePaneProps> = ({
|
|||||||
placeholder={databaseIdPlaceHolder}
|
placeholder={databaseIdPlaceHolder}
|
||||||
value={databaseId}
|
value={databaseId}
|
||||||
onChange={handleonChangeDBId}
|
onChange={handleonChangeDBId}
|
||||||
autoFocus
|
|
||||||
styles={getTextFieldStyles()}
|
styles={getTextFieldStyles()}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ exports[`AddDatabasePane Pane should render Default properly 1`] = `
|
|||||||
aria-label="Database id"
|
aria-label="Database id"
|
||||||
aria-required="true"
|
aria-required="true"
|
||||||
autoComplete="off"
|
autoComplete="off"
|
||||||
autoFocus={true}
|
|
||||||
id="database-id"
|
id="database-id"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
pattern="[^/?#\\\\\\\\]*[^/?# \\\\\\\\]"
|
pattern="[^/?#\\\\\\\\]*[^/?# \\\\\\\\]"
|
||||||
|
|||||||
@@ -169,7 +169,6 @@ export const CassandraAddCollectionPane: FunctionComponent<CassandraAddCollectio
|
|||||||
aria-label="Create new keyspace"
|
aria-label="Create new keyspace"
|
||||||
checked={keyspaceCreateNew}
|
checked={keyspaceCreateNew}
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={() => {
|
onChange={() => {
|
||||||
setKeyspaceCreateNew(true);
|
setKeyspaceCreateNew(true);
|
||||||
@@ -184,7 +183,6 @@ export const CassandraAddCollectionPane: FunctionComponent<CassandraAddCollectio
|
|||||||
aria-label="Use existing keyspace"
|
aria-label="Use existing keyspace"
|
||||||
checked={!keyspaceCreateNew}
|
checked={!keyspaceCreateNew}
|
||||||
type="radio"
|
type="radio"
|
||||||
role="radio"
|
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
onChange={() => {
|
onChange={() => {
|
||||||
setKeyspaceCreateNew(false);
|
setKeyspaceCreateNew(false);
|
||||||
@@ -208,7 +206,6 @@ export const CassandraAddCollectionPane: FunctionComponent<CassandraAddCollectio
|
|||||||
value={newKeyspaceId}
|
value={newKeyspaceId}
|
||||||
onChange={(e, newValue) => setNewKeyspaceId(newValue)}
|
onChange={(e, newValue) => setNewKeyspaceId(newValue)}
|
||||||
ariaLabel="Keyspace id"
|
ariaLabel="Keyspace id"
|
||||||
autoFocus
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
{!isServerlessAccount() && (
|
{!isServerlessAccount() && (
|
||||||
|
|||||||
@@ -119,7 +119,6 @@ export const DeleteCollectionConfirmationPane: FunctionComponent<DeleteCollectio
|
|||||||
<Text variant="small">Confirm by typing the {collectionName.toLowerCase()} id</Text>
|
<Text variant="small">Confirm by typing the {collectionName.toLowerCase()} id</Text>
|
||||||
<TextField
|
<TextField
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
autoFocus
|
|
||||||
value={inputCollectionName}
|
value={inputCollectionName}
|
||||||
styles={{ fieldGroup: { width: 300 } }}
|
styles={{ fieldGroup: { width: 300 } }}
|
||||||
onChange={(event, newInput?: string) => {
|
onChange={(event, newInput?: string) => {
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
|||||||
</Text>
|
</Text>
|
||||||
<StyledTextFieldBase
|
<StyledTextFieldBase
|
||||||
ariaLabel="Confirm by typing the container id"
|
ariaLabel="Confirm by typing the container id"
|
||||||
autoFocus={true}
|
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
styles={
|
styles={
|
||||||
@@ -55,7 +54,6 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
|||||||
>
|
>
|
||||||
<TextFieldBase
|
<TextFieldBase
|
||||||
ariaLabel="Confirm by typing the container id"
|
ariaLabel="Confirm by typing the container id"
|
||||||
autoFocus={true}
|
|
||||||
deferredValidationTime={200}
|
deferredValidationTime={200}
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
@@ -349,7 +347,6 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect
|
|||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
aria-label="Confirm by typing the container id"
|
aria-label="Confirm by typing the container id"
|
||||||
autoFocus={true}
|
|
||||||
className="ms-TextField-field field-57"
|
className="ms-TextField-field field-57"
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
|
|||||||
@@ -129,7 +129,6 @@ export const DeleteDatabaseConfirmationPanel: FunctionComponent<DeleteDatabaseCo
|
|||||||
<Text variant="small">Confirm by typing the database id</Text>
|
<Text variant="small">Confirm by typing the database id</Text>
|
||||||
<TextField
|
<TextField
|
||||||
id="confirmDatabaseId"
|
id="confirmDatabaseId"
|
||||||
autoFocus
|
|
||||||
styles={{ fieldGroup: { width: 300 } }}
|
styles={{ fieldGroup: { width: 300 } }}
|
||||||
onChange={(event, newInput?: string) => {
|
onChange={(event, newInput?: string) => {
|
||||||
setDatabaseInput(newInput);
|
setDatabaseInput(newInput);
|
||||||
|
|||||||
@@ -69,25 +69,11 @@ export const InputParameter: FunctionComponent<InputParameterProps> = ({
|
|||||||
/>
|
/>
|
||||||
{isAddRemoveVisible && (
|
{isAddRemoveVisible && (
|
||||||
<>
|
<>
|
||||||
<div tabIndex={0}>
|
<div tabIndex={0} onClick={onDeleteParamKeyPress} role="button" onKeyPress={onDeleteParamKeyPress}>
|
||||||
<Image
|
<Image {...imageProps} src={EntityCancelIcon} alt="Delete param" id="deleteparam" />
|
||||||
{...imageProps}
|
|
||||||
src={EntityCancelIcon}
|
|
||||||
alt="Delete param"
|
|
||||||
id="deleteparam"
|
|
||||||
role="button"
|
|
||||||
onClick={onDeleteParamKeyPress}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
<div tabIndex={0}>
|
<div tabIndex={0} onClick={onAddNewParamKeyPress} role="button" onKeyPress={onAddNewParamKeyPress}>
|
||||||
<Image
|
<Image {...imageProps} src={AddPropertyIcon} alt="Add param" id="addparam" />
|
||||||
{...imageProps}
|
|
||||||
src={AddPropertyIcon}
|
|
||||||
alt="Add param"
|
|
||||||
id="addparam"
|
|
||||||
role="button"
|
|
||||||
onClick={onAddNewParamKeyPress}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -4328,6 +4328,9 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
</TextFieldBase>
|
</TextFieldBase>
|
||||||
</StyledTextFieldBase>
|
</StyledTextFieldBase>
|
||||||
<div
|
<div
|
||||||
|
onClick={[Function]}
|
||||||
|
onKeyPress={[Function]}
|
||||||
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<StyledImageBase
|
<StyledImageBase
|
||||||
@@ -4335,8 +4338,6 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
className="addRemoveIconLabel"
|
className="addRemoveIconLabel"
|
||||||
height={30}
|
height={30}
|
||||||
id="deleteparam"
|
id="deleteparam"
|
||||||
onClick={[Function]}
|
|
||||||
role="button"
|
|
||||||
src=""
|
src=""
|
||||||
width={20}
|
width={20}
|
||||||
>
|
>
|
||||||
@@ -4345,8 +4346,6 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
className="addRemoveIconLabel"
|
className="addRemoveIconLabel"
|
||||||
height={30}
|
height={30}
|
||||||
id="deleteparam"
|
id="deleteparam"
|
||||||
onClick={[Function]}
|
|
||||||
role="button"
|
|
||||||
src=""
|
src=""
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
theme={
|
theme={
|
||||||
@@ -4638,10 +4637,8 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-87"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-87"
|
||||||
id="deleteparam"
|
id="deleteparam"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onClick={[Function]}
|
|
||||||
onError={[Function]}
|
onError={[Function]}
|
||||||
onLoad={[Function]}
|
onLoad={[Function]}
|
||||||
role="button"
|
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -4649,6 +4646,9 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
</StyledImageBase>
|
</StyledImageBase>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
onClick={[Function]}
|
||||||
|
onKeyPress={[Function]}
|
||||||
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
>
|
>
|
||||||
<StyledImageBase
|
<StyledImageBase
|
||||||
@@ -4656,8 +4656,6 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
className="addRemoveIconLabel"
|
className="addRemoveIconLabel"
|
||||||
height={30}
|
height={30}
|
||||||
id="addparam"
|
id="addparam"
|
||||||
onClick={[Function]}
|
|
||||||
role="button"
|
|
||||||
src=""
|
src=""
|
||||||
width={20}
|
width={20}
|
||||||
>
|
>
|
||||||
@@ -4666,8 +4664,6 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
className="addRemoveIconLabel"
|
className="addRemoveIconLabel"
|
||||||
height={30}
|
height={30}
|
||||||
id="addparam"
|
id="addparam"
|
||||||
onClick={[Function]}
|
|
||||||
role="button"
|
|
||||||
src=""
|
src=""
|
||||||
styles={[Function]}
|
styles={[Function]}
|
||||||
theme={
|
theme={
|
||||||
@@ -4959,10 +4955,8 @@ exports[`Excute Sproc Param Pane should render Default properly 1`] = `
|
|||||||
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-87"
|
className="ms-Image-image ms-Image-image--portrait is-notLoaded is-fadeIn image-87"
|
||||||
id="addparam"
|
id="addparam"
|
||||||
key="fabricImage"
|
key="fabricImage"
|
||||||
onClick={[Function]}
|
|
||||||
onError={[Function]}
|
onError={[Function]}
|
||||||
onLoad={[Function]}
|
onLoad={[Function]}
|
||||||
role="button"
|
|
||||||
src=""
|
src=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ export const LoadQueryPane: FunctionComponent = (): JSX.Element => {
|
|||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
label="Select a query document"
|
label="Select a query document"
|
||||||
value={selectedFileName}
|
value={selectedFileName}
|
||||||
autoFocus
|
|
||||||
readOnly
|
readOnly
|
||||||
styles={{ fieldGroup: { width: 300 } }}
|
styles={{ fieldGroup: { width: 300 } }}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ exports[`Load Query Pane should render Default properly 1`] = `
|
|||||||
horizontal={true}
|
horizontal={true}
|
||||||
>
|
>
|
||||||
<StyledTextFieldBase
|
<StyledTextFieldBase
|
||||||
autoFocus={true}
|
|
||||||
id="confirmCollectionId"
|
id="confirmCollectionId"
|
||||||
label="Select a query document"
|
label="Select a query document"
|
||||||
readOnly={true}
|
readOnly={true}
|
||||||
|
|||||||
@@ -48,9 +48,15 @@ export const PanelInfoErrorComponent: React.FunctionComponent<PanelInfoErrorProp
|
|||||||
)}
|
)}
|
||||||
</Text>
|
</Text>
|
||||||
{showErrorDetails && (
|
{showErrorDetails && (
|
||||||
<a className="paneErrorLink" role="link" onClick={expandConsole}>
|
<span
|
||||||
|
className="paneErrorLink moreOption"
|
||||||
|
role="link"
|
||||||
|
onClick={expandConsole}
|
||||||
|
onKeyPress={expandConsole}
|
||||||
|
tabIndex={0}
|
||||||
|
>
|
||||||
More details
|
More details
|
||||||
</a>
|
</span>
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
</Stack>
|
</Stack>
|
||||||
|
|||||||
@@ -3,6 +3,6 @@ import LoadingIndicator_3Squares from "../../../images/LoadingIndicator_3Squares
|
|||||||
|
|
||||||
export const PanelLoadingScreen: React.FunctionComponent = () => (
|
export const PanelLoadingScreen: React.FunctionComponent = () => (
|
||||||
<div className="dataExplorerLoaderContainer dataExplorerPaneLoaderContainer">
|
<div className="dataExplorerLoaderContainer dataExplorerPaneLoaderContainer">
|
||||||
<img className="dataExplorerLoader" src={LoadingIndicator_3Squares} />
|
<img className="dataExplorerLoader" src={LoadingIndicator_3Squares} alt="loading indicator" />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -146,7 +146,6 @@ export const SaveQueryPane: FunctionComponent<SaveQueryPaneProps> = ({ explorer
|
|||||||
<TextField
|
<TextField
|
||||||
id="saveQueryInput"
|
id="saveQueryInput"
|
||||||
label="Name"
|
label="Name"
|
||||||
autoFocus
|
|
||||||
styles={{ fieldGroup: { width: 300 } }}
|
styles={{ fieldGroup: { width: 300 } }}
|
||||||
onChange={(event, newInput?: string) => {
|
onChange={(event, newInput?: string) => {
|
||||||
setQueryName(newInput);
|
setQueryName(newInput);
|
||||||
|
|||||||
@@ -97,7 +97,6 @@ export const StringInputPane: FunctionComponent<StringInputPanelProps> = ({
|
|||||||
label={inputLabel}
|
label={inputLabel}
|
||||||
name="collectionIdConfirmation"
|
name="collectionIdConfirmation"
|
||||||
value={stringInput}
|
value={stringInput}
|
||||||
autoFocus
|
|
||||||
required
|
required
|
||||||
onChange={(event: FormEvent<HTMLInputElement | HTMLTextAreaElement>, newValue?: string) =>
|
onChange={(event: FormEvent<HTMLInputElement | HTMLTextAreaElement>, newValue?: string) =>
|
||||||
setStringInput(newValue)
|
setStringInput(newValue)
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ exports[`StringInput Pane should render Create new directory properly 1`] = `
|
|||||||
>
|
>
|
||||||
<StyledTextFieldBase
|
<StyledTextFieldBase
|
||||||
aria-label="Enter new directory name"
|
aria-label="Enter new directory name"
|
||||||
autoFocus={true}
|
|
||||||
label="Enter new directory name"
|
label="Enter new directory name"
|
||||||
name="collectionIdConfirmation"
|
name="collectionIdConfirmation"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
@@ -65,7 +64,6 @@ exports[`StringInput Pane should render Create new directory properly 1`] = `
|
|||||||
>
|
>
|
||||||
<TextFieldBase
|
<TextFieldBase
|
||||||
aria-label="Enter new directory name"
|
aria-label="Enter new directory name"
|
||||||
autoFocus={true}
|
|
||||||
deferredValidationTime={200}
|
deferredValidationTime={200}
|
||||||
label="Enter new directory name"
|
label="Enter new directory name"
|
||||||
name="collectionIdConfirmation"
|
name="collectionIdConfirmation"
|
||||||
@@ -655,7 +653,6 @@ exports[`StringInput Pane should render Create new directory properly 1`] = `
|
|||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
aria-labelledby="TextFieldLabel2"
|
aria-labelledby="TextFieldLabel2"
|
||||||
autoFocus={true}
|
|
||||||
className="ms-TextField-field field-56"
|
className="ms-TextField-field field-56"
|
||||||
id="TextField0"
|
id="TextField0"
|
||||||
name="collectionIdConfirmation"
|
name="collectionIdConfirmation"
|
||||||
|
|||||||
@@ -368,7 +368,6 @@ exports[`Delete Database Confirmation Pane Should call delete database 1`] = `
|
|||||||
</Text>
|
</Text>
|
||||||
<StyledTextFieldBase
|
<StyledTextFieldBase
|
||||||
ariaLabel="Confirm by typing the database id"
|
ariaLabel="Confirm by typing the database id"
|
||||||
autoFocus={true}
|
|
||||||
id="confirmDatabaseId"
|
id="confirmDatabaseId"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
styles={
|
styles={
|
||||||
@@ -381,7 +380,6 @@ exports[`Delete Database Confirmation Pane Should call delete database 1`] = `
|
|||||||
>
|
>
|
||||||
<TextFieldBase
|
<TextFieldBase
|
||||||
ariaLabel="Confirm by typing the database id"
|
ariaLabel="Confirm by typing the database id"
|
||||||
autoFocus={true}
|
|
||||||
deferredValidationTime={200}
|
deferredValidationTime={200}
|
||||||
id="confirmDatabaseId"
|
id="confirmDatabaseId"
|
||||||
onChange={[Function]}
|
onChange={[Function]}
|
||||||
@@ -674,7 +672,6 @@ exports[`Delete Database Confirmation Pane Should call delete database 1`] = `
|
|||||||
<input
|
<input
|
||||||
aria-invalid={false}
|
aria-invalid={false}
|
||||||
aria-label="Confirm by typing the database id"
|
aria-label="Confirm by typing the database id"
|
||||||
autoFocus={true}
|
|
||||||
className="ms-TextField-field field-60"
|
className="ms-TextField-field field-60"
|
||||||
id="confirmDatabaseId"
|
id="confirmDatabaseId"
|
||||||
onBlur={[Function]}
|
onBlur={[Function]}
|
||||||
|
|||||||
@@ -108,7 +108,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.oneLineContent {
|
.oneLineContent {
|
||||||
margin-top: 4px;
|
margin-top: 6px;
|
||||||
|
margin-left: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.twoLineContent {
|
.twoLineContent {
|
||||||
@@ -133,12 +134,12 @@
|
|||||||
.flex-display();
|
.flex-display();
|
||||||
.flex-direction();
|
.flex-direction();
|
||||||
|
|
||||||
>.title {
|
.title {
|
||||||
color: @BaseDark;
|
color: @BaseDark;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
>.description {
|
.description {
|
||||||
color: @BaseDark;
|
color: @BaseDark;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -128,9 +128,8 @@ export class SplashScreen extends React.Component<SplashScreenProps> {
|
|||||||
<div className="title">Common Tasks</div>
|
<div className="title">Common Tasks</div>
|
||||||
<ul>
|
<ul>
|
||||||
{commonTaskItems.map((item) => (
|
{commonTaskItems.map((item) => (
|
||||||
<li
|
<li className="focusable" key={`${item.title}${item.description}`}>
|
||||||
className="focusable"
|
<div
|
||||||
key={`${item.title}${item.description}`}
|
|
||||||
onClick={item.onClick}
|
onClick={item.onClick}
|
||||||
onKeyPress={(event: React.KeyboardEvent) => this.onSplashScreenItemKeyPress(event, item.onClick)}
|
onKeyPress={(event: React.KeyboardEvent) => this.onSplashScreenItemKeyPress(event, item.onClick)}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
@@ -140,6 +139,7 @@ export class SplashScreen extends React.Component<SplashScreenProps> {
|
|||||||
<span className="oneLineContent" title={item.info}>
|
<span className="oneLineContent" title={item.info}>
|
||||||
{item.title}
|
{item.title}
|
||||||
</span>
|
</span>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
@@ -165,22 +165,23 @@ export class SplashScreen extends React.Component<SplashScreenProps> {
|
|||||||
<div className="title">Tips</div>
|
<div className="title">Tips</div>
|
||||||
<ul>
|
<ul>
|
||||||
{tipsItems.map((item) => (
|
{tipsItems.map((item) => (
|
||||||
<li
|
<li className="tipContainer focusable" key={`${item.title}${item.description}`}>
|
||||||
className="tipContainer focusable"
|
<div
|
||||||
key={`${item.title}${item.description}`}
|
|
||||||
onClick={item.onClick}
|
onClick={item.onClick}
|
||||||
onKeyPress={(event: React.KeyboardEvent) => this.onSplashScreenItemKeyPress(event, item.onClick)}
|
onKeyPress={(event: React.KeyboardEvent) => this.onSplashScreenItemKeyPress(event, item.onClick)}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
role="link"
|
role="button"
|
||||||
|
className="tipsWrapper"
|
||||||
>
|
>
|
||||||
<div className="title" title={item.info}>
|
<div className="title" title={item.info}>
|
||||||
{item.title}
|
{item.title}
|
||||||
</div>
|
</div>
|
||||||
<div className="description">{item.description}</div>
|
<div className="description">{item.description}</div>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
<li>
|
<li>
|
||||||
<a role="link" href={SplashScreen.seeMoreItemUrl} rel="noreferrer" target="_blank" tabIndex={0}>
|
<a href={SplashScreen.seeMoreItemUrl} rel="noreferrer" target="_blank" tabIndex={0}>
|
||||||
{SplashScreen.seeMoreItemTitle}
|
{SplashScreen.seeMoreItemTitle}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -966,10 +966,15 @@ export default class QueryTabComponent extends React.Component<IQueryTabComponen
|
|||||||
<>
|
<>
|
||||||
<span className="queryResultDivider">|</span>
|
<span className="queryResultDivider">|</span>
|
||||||
<span className="queryResultNextEnable">
|
<span className="queryResultNextEnable">
|
||||||
<a onClick={this.onFetchNextPageClick.bind(this)}>
|
<div
|
||||||
<span>Load more</span>
|
onClick={this.onFetchNextPageClick.bind(this)}
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyPress={this.onFetchNextPageClick.bind(this)}
|
||||||
|
>
|
||||||
|
<span className="moreOption">Load more</span>
|
||||||
<img className="queryResultnextImg" src={QueryEditorNext} alt="Fetch next page" />
|
<img className="queryResultnextImg" src={QueryEditorNext} alt="Fetch next page" />
|
||||||
</a>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
@@ -1015,7 +1020,7 @@ export default class QueryTabComponent extends React.Component<IQueryTabComponen
|
|||||||
</div>
|
</div>
|
||||||
{this.state.isQueryMetricsEnabled && (
|
{this.state.isQueryMetricsEnabled && (
|
||||||
<div className="downloadMetricsLinkContainer">
|
<div className="downloadMetricsLinkContainer">
|
||||||
<a
|
<span
|
||||||
id="downloadMetricsLink"
|
id="downloadMetricsLink"
|
||||||
role="button"
|
role="button"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
@@ -1030,7 +1035,7 @@ export default class QueryTabComponent extends React.Component<IQueryTabComponen
|
|||||||
alt="download query metrics csv"
|
alt="download query metrics csv"
|
||||||
/>
|
/>
|
||||||
<span>Per-partition query metrics (CSV)</span>
|
<span>Per-partition query metrics (CSV)</span>
|
||||||
</a>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
@@ -1044,7 +1049,7 @@ export default class QueryTabComponent extends React.Component<IQueryTabComponen
|
|||||||
<div className="errorContent">
|
<div className="errorContent">
|
||||||
<span className="errorMessage">{this.state.error}</span>
|
<span className="errorMessage">{this.state.error}</span>
|
||||||
<span className="errorDetailsLink">
|
<span className="errorDetailsLink">
|
||||||
<a
|
<span
|
||||||
onClick={() => this.onErrorDetailsClick()}
|
onClick={() => this.onErrorDetailsClick()}
|
||||||
onKeyPress={(event: React.KeyboardEvent<HTMLAnchorElement>) =>
|
onKeyPress={(event: React.KeyboardEvent<HTMLAnchorElement>) =>
|
||||||
this.onErrorDetailsKeyPress(event)
|
this.onErrorDetailsKeyPress(event)
|
||||||
@@ -1052,9 +1057,11 @@ export default class QueryTabComponent extends React.Component<IQueryTabComponen
|
|||||||
id="error-display"
|
id="error-display"
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
aria-label="Error details link"
|
aria-label="Error details link"
|
||||||
|
role="button"
|
||||||
|
className="moreOption"
|
||||||
>
|
>
|
||||||
More details
|
More details
|
||||||
</a>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -579,13 +579,16 @@ export default class StoredProcedureTabComponent extends React.Component<
|
|||||||
<div className="errorContent">
|
<div className="errorContent">
|
||||||
<span className="errorMessage">{this.state.error}</span>
|
<span className="errorMessage">{this.state.error}</span>
|
||||||
<span className="errorDetailsLink">
|
<span className="errorDetailsLink">
|
||||||
<a
|
<span
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
className="moreOption"
|
||||||
aria-label="Error details link"
|
aria-label="Error details link"
|
||||||
onClick={() => this.onErrorDetailsClick()}
|
onClick={() => this.onErrorDetailsClick()}
|
||||||
onKeyPress={(event: React.KeyboardEvent<HTMLAnchorElement>) => this.onErrorDetailsKeyPress(event)}
|
onKeyPress={(event: React.KeyboardEvent<HTMLAnchorElement>) => this.onErrorDetailsKeyPress(event)}
|
||||||
>
|
>
|
||||||
More details
|
More details
|
||||||
</a>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ function TabNav({ tab, active }: { tab: Tab; active: boolean }) {
|
|||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
role="tab"
|
role="tab"
|
||||||
ref={focusTab}
|
ref={focusTab}
|
||||||
|
onFocus={() => setHovering(true)}
|
||||||
>
|
>
|
||||||
<span className="tabNavContentContainer">
|
<span className="tabNavContentContainer">
|
||||||
<a data-toggle="tab" href={"#" + tab.tabId} tabIndex={-1}>
|
<a data-toggle="tab" href={"#" + tab.tabId} tabIndex={-1}>
|
||||||
|
|||||||
@@ -295,8 +295,6 @@ export class TriggerTabContent extends Component<TriggerTab, ITriggerTabContentS
|
|||||||
className="trigger-field"
|
className="trigger-field"
|
||||||
label="Trigger Id"
|
label="Trigger Id"
|
||||||
id="entityTimeId"
|
id="entityTimeId"
|
||||||
autoFocus
|
|
||||||
required
|
|
||||||
type="text"
|
type="text"
|
||||||
pattern="[^/?#\\]*[^/?# \\]"
|
pattern="[^/?#\\]*[^/?# \\]"
|
||||||
placeholder="Enter the new trigger id"
|
placeholder="Enter the new trigger id"
|
||||||
|
|||||||
@@ -276,7 +276,6 @@ export default class UserDefinedFunctionTabContent extends Component<
|
|||||||
className="trigger-field"
|
className="trigger-field"
|
||||||
label="User Defined Function Id"
|
label="User Defined Function Id"
|
||||||
id="entityTimeId"
|
id="entityTimeId"
|
||||||
autoFocus
|
|
||||||
required
|
required
|
||||||
readOnly={!isUdfIdEditable}
|
readOnly={!isUdfIdEditable}
|
||||||
type="text"
|
type="text"
|
||||||
|
|||||||
@@ -89,6 +89,8 @@ const App: React.FunctionComponent = () => {
|
|||||||
onClick={() => window.open("https://portal.azure.com", "_blank")}
|
onClick={() => window.open("https://portal.azure.com", "_blank")}
|
||||||
tabIndex={0}
|
tabIndex={0}
|
||||||
title="Go to Azure Portal"
|
title="Go to Azure Portal"
|
||||||
|
role="button"
|
||||||
|
onKeyDown={() => window.open("https://portal.azure.com", "_blank")}
|
||||||
>
|
>
|
||||||
Microsoft Azure
|
Microsoft Azure
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -33,13 +33,23 @@ const Index = (): JSX.Element => {
|
|||||||
<div
|
<div
|
||||||
id="Quickstart"
|
id="Quickstart"
|
||||||
onClick={quickstart_click}
|
onClick={quickstart_click}
|
||||||
|
onKeyPress={quickstart_click}
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
className={navigationSelection === "quickstart" ? "topSelected" : ""}
|
className={navigationSelection === "quickstart" ? "topSelected" : ""}
|
||||||
>
|
>
|
||||||
<img id="imgiconwidth1" src={Quickstart} alt="Open Quick Start" />
|
<img id="imgiconwidth1" src={Quickstart} alt="Open Quick Start" />
|
||||||
<span className="menuQuickStart">Quickstart</span>
|
<span className="menuQuickStart">Quickstart</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="Explorer" onClick={explorer_click} className={navigationSelection === "explorer" ? "topSelected" : ""}>
|
<div
|
||||||
|
id="Explorer"
|
||||||
|
onClick={explorer_click}
|
||||||
|
className={navigationSelection === "explorer" ? "topSelected" : ""}
|
||||||
|
role="button"
|
||||||
|
tabIndex={0}
|
||||||
|
onKeyPress={explorer_click}
|
||||||
|
>
|
||||||
<img id="imgiconwidth1" src={Explorer} alt="Open Data Explorer" />
|
<img id="imgiconwidth1" src={Explorer} alt="Open Data Explorer" />
|
||||||
<span className="menuExplorer">Explorer</span>
|
<span className="menuExplorer">Explorer</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -53,11 +63,11 @@ const Index = (): JSX.Element => {
|
|||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
{navigationSelection === "quickstart" && (
|
{navigationSelection === "quickstart" && (
|
||||||
<iframe name="quickstart" className="iframe" src="quickstart.html"></iframe>
|
<iframe name="quickstart" className="iframe" src="quickstart.html" title="Quick Start"></iframe>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{navigationSelection === "explorer" && (
|
{navigationSelection === "explorer" && (
|
||||||
<iframe name="explorer" className="iframe" src="explorer.html?platform=Emulator"></iframe>
|
<iframe name="explorer" className="iframe" src="explorer.html?platform=Emulator" title="Explorer"></iframe>
|
||||||
)}
|
)}
|
||||||
</React.Fragment>
|
</React.Fragment>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -77,16 +77,16 @@ export const ConnectExplorer: React.FunctionComponent<Props> = ({
|
|||||||
<p className="connectExplorerContent">
|
<p className="connectExplorerContent">
|
||||||
<input className="filterbtnstyle" type="submit" value="Connect" />
|
<input className="filterbtnstyle" type="submit" value="Connect" />
|
||||||
</p>
|
</p>
|
||||||
<p className="switchConnectTypeText" onClick={login}>
|
<div className="switchConnectTypeText" onClick={login} onKeyDown={login} role="button" tabIndex={0}>
|
||||||
Sign In with Azure Account
|
Sign In with Azure Account
|
||||||
</p>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
) : (
|
) : (
|
||||||
<div id="connectWithAad">
|
<div id="connectWithAad">
|
||||||
<input className="filterbtnstyle" type="button" value="Sign In" onClick={login} />
|
<input className="filterbtnstyle" type="button" value="Sign In" onClick={login} />
|
||||||
<p className="switchConnectTypeText" onClick={showForm}>
|
<div className="switchConnectTypeText" onClick={showForm} onKeyDown={showForm} role="button" tabIndex={0}>
|
||||||
Connect to your account with connection string
|
Connect to your account with connection string
|
||||||
</p>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
"noUnusedParameters": true
|
"noUnusedParameters": true
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
|
"./src/SelfServe/GraphAPICompute/GraphAPICompute.types.ts",
|
||||||
"./src/AuthType.ts",
|
"./src/AuthType.ts",
|
||||||
"./src/Bindings/ReactBindingHandler.ts",
|
"./src/Bindings/ReactBindingHandler.ts",
|
||||||
"./src/Common/ArrayHashMap.ts",
|
"./src/Common/ArrayHashMap.ts",
|
||||||
|
|||||||
Reference in New Issue
Block a user