Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chore (release): 5.0.0 #1582

Merged
merged 89 commits into from
Mar 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
0cf15cf
Show information about CORS policy if query fails due to CORS restric…
millicentachieng Jan 12, 2022
ce3d100
chore/handover-translations-202112102137 (#1311)
thewahome Jan 12, 2022
8489f75
Add PowerShell snippets tab (#1273)
millicentachieng Jan 13, 2022
e6252d1
Update from https://github.com/microsoftgraph/microsoft-graph-devx-co…
thewahome Jan 13, 2022
b121494
Update from https://github.com/microsoftgraph/microsoft-graph-devx-co…
thewahome Jan 13, 2022
3fbec05
chore/handover-translations-202112132250 (#1317)
thewahome Jan 13, 2022
765110a
Merge January 2022 release into dev (#1345)
millicentachieng Jan 14, 2022
473d1e0
Update azure-pipelines.yml for Azure Pipelines
ElinorW Jan 14, 2022
e5551e5
Add resource explorer telemetry (#1347)
millicentachieng Jan 14, 2022
cdb7463
Fix: Expand/Collapse button on Response Preview editor (#1349)
ElinorW Jan 17, 2022
27581fb
remove header from resource context menu (#1337)
Onokaev Jan 17, 2022
a5b2d2b
chore/handover-translations-202201141637 (#1352)
thewahome Jan 17, 2022
8b0fc32
Adds ability to add functions to collections (#1348)
Onokaev Jan 18, 2022
222d43f
Fixes preview collection button (#1350)
Onokaev Jan 18, 2022
a32fff6
chore/handover-translations-202201181914 (#1355)
thewahome Jan 18, 2022
e4a7cd6
Removes 'Access Query Parameters' from the resources' context menu (#…
Onokaev Jan 19, 2022
6875104
Task: Update dependencies (#1356)
ElinorW Jan 19, 2022
69c23e7
add status message to history item (#1364)
Onokaev Jan 24, 2022
1efb010
Fix: disable link highlighting (#1358)
Onokaev Jan 26, 2022
966b99c
Fix version validation for autocomplete (#1357)
millicentachieng Jan 26, 2022
319d354
Fix: Enable focus to remain on copy button when clicked (#1379)
ElinorW Jan 26, 2022
9055147
Fix: Add aria-label for items in the sample queries tab (#1378)
ElinorW Jan 27, 2022
d27a373
Update from https://github.com/microsoftgraph/microsoft-graph-devx-co…
thewahome Jan 28, 2022
29f06be
chore/handover-translations-202201301912
thewahome Jan 31, 2022
bfa0ca1
Fix: Query input 'i' icon focus (#1377)
ElinorW Jan 31, 2022
35ab3b2
Update user profile info if they use a different account to consent t…
millicentachieng Jan 31, 2022
99aed2a
Update documentation link icon (#1390)
millicentachieng Feb 1, 2022
72be5be
Fix: Text overflowing on feedback and access token tabs (#1382)
Onokaev Feb 1, 2022
11d689c
Show Resource Explorer HTTP methods next to resource (#1367)
millicentachieng Feb 1, 2022
f517d99
change pivot items order (#1407)
ElinorW Feb 2, 2022
59e2ddc
Hide resources tab (#1408)
millicentachieng Feb 2, 2022
e52cc64
Fix copy button on response headers (#1409)
Onokaev Feb 2, 2022
8d159cd
Fix: Appearing/Disappearing popup (#1418)
ElinorW Feb 3, 2022
8b1cbe6
Fix: Selectively disable HTTP cache for failing anonymous fetch calls…
Onokaev Feb 3, 2022
8da621e
chore/handover-translations-202202041836 (#1425)
thewahome Feb 4, 2022
630f639
chore/handover-translations-202202061812 (#1428)
thewahome Feb 7, 2022
39b72e7
chore/handover-translations-202202071552 (#1430)
thewahome Feb 7, 2022
d00663e
Release: February 2022 (#1447)
ElinorW Feb 10, 2022
8dccf2c
Fix: hanging run query button (#1445)
thewahome Feb 11, 2022
df516d9
Fix: Narrator announces Tab items activation (#1435)
ElinorW Feb 11, 2022
ab90380
Fix: Remove extra outline from search boxes (#1438)
Onokaev Feb 15, 2022
d5efe72
Fix: Resize sidebar (#1433)
thewahome Feb 15, 2022
e9e8ffe
remove semi-colon (#1457)
ElinorW Feb 15, 2022
131e9f9
Task: Add Manifest Generator task for EO compliance (#1439)
MIchaelMainer Feb 16, 2022
7c9645b
Task: Migrate from webpack v4 to webpack v5 (#1395)
ElinorW Feb 17, 2022
965a636
Fix: Toolkit component text padding (#1461)
Onokaev Feb 17, 2022
64cf11d
Enhancement: Changes position of feedback button (#1455)
Onokaev Feb 17, 2022
d15d055
chore/handover-translations-202202180932 (#1468)
thewahome Feb 18, 2022
44f0b1b
Update from https://github.com/microsoftgraph/microsoft-graph-devx-co…
thewahome Feb 18, 2022
8e1bb8a
Task: Improve test coverage (#1434)
Onokaev Feb 18, 2022
612acea
Update from https://github.com/microsoftgraph/microsoft-graph-devx-co…
thewahome Feb 18, 2022
255e8fa
chore: handover translations 202202182126
thewahome Feb 21, 2022
f24aa42
chore: handover translations 202202190029
thewahome Feb 21, 2022
3bef3d8
chore: handover translations 202202190327
thewahome Feb 21, 2022
5d83574
chore: handover translations 202202191226
thewahome Feb 21, 2022
87c2228
Chore: update dependencies (#1476)
thewahome Feb 21, 2022
b99d239
Disable invalid space error on url on carriage returns (#1464)
Onokaev Feb 22, 2022
5058967
Chore: reorganise test files (#1481)
thewahome Feb 22, 2022
18ed162
add new code owner (#1485)
Onokaev Feb 22, 2022
8704131
Chore: remove unnecessary packages (#1487)
thewahome Feb 23, 2022
eca50b5
Fix: Selectively disable invalid url warning (#1484)
Onokaev Feb 24, 2022
ebfbaf8
decode url within a try catch (#1489)
Onokaev Feb 24, 2022
a4c6126
Fix: Corrects position of feedback button and GE title (#1492)
Onokaev Feb 28, 2022
253c019
Task: Adjust feedback popup time (#1496)
ElinorW Mar 1, 2022
838a9d4
Fix/share button enhancement (#1459)
Onokaev Mar 1, 2022
92b515f
Tests: move spec files closer to file under test (#1497)
thewahome Mar 1, 2022
9e9e8b5
Chore: change build agent to MsGraphBuildAgentsWindows (#1511)
thewahome Mar 2, 2022
2cb40b6
Fix: try-it experience layout (#1495)
thewahome Mar 2, 2022
a6aa6f3
Tests: skip spec.tsx files (#1519)
thewahome Mar 3, 2022
54e2940
Enhancement: Code snippets UI (#1494)
ElinorW Mar 3, 2022
46c2eb5
fix: restore accessibility tests (#1526)
Onokaev Mar 5, 2022
8b8c80f
Fix: Show correct information on Modify Permissions tab (#1498)
Onokaev Mar 8, 2022
e1f9d27
Fix: Add Fluent Responsive stylesheet (#1500)
ElinorW Mar 8, 2022
1b428c8
Chore: Cut a release github workflow (#1514)
thewahome Mar 8, 2022
0ef55d6
Fix: Authentication error handling (#1547)
Onokaev Mar 10, 2022
1a7c967
Chore: Update to 4.17.0 (#1548)
github-actions[bot] Mar 10, 2022
d084f05
Try using hosted image (#1551)
MIchaelMainer Mar 11, 2022
6bfe456
Chore: Update to 4.18.0 (#1552)
github-actions[bot] Mar 11, 2022
6934106
Chore: Update packages from Dependabot: March (#1554)
thewahome Mar 14, 2022
80a4b09
Fix: Code snippet generation (#1559)
thewahome Mar 16, 2022
40995bb
Chore(deps): Bump glob-parent from 3.1.0 to 5.1.2 (#1563)
dependabot[bot] Mar 16, 2022
ecef40f
Enhancement: Adjust position of chevron icon on history items' header…
Onokaev Mar 17, 2022
262dd13
Fix: Update Tip message format (#1570)
ElinorW Mar 18, 2022
388ba03
Fix: validate permissions before any operations (#1578)
Onokaev Mar 28, 2022
59fe54d
Restore resources tab (#1319)
millicentachieng Mar 30, 2022
e6dd40f
Bump version to 5.0.0
invalid-email-address Mar 30, 2022
16fadf2
Merge branch 'master' into release/5.0.0
thewahome Mar 30, 2022
e4a280a
fix postman utility
thewahome Mar 30, 2022
78c38b8
ensure packages exist
thewahome Mar 30, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2,131 changes: 286 additions & 1,845 deletions package-lock.json

Large diffs are not rendered by default.

25 changes: 13 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "graph-explorer-v2",
"version": "4.18.1",
"version": "5.0.0",
"private": true,
"dependencies": {
"@augloop/types-core": "file:packages/types-core-2.16.189.tgz",
Expand All @@ -22,7 +22,7 @@
"bootstrap": "4.3.1",
"case-sensitive-paths-webpack-plugin": "2.4.0",
"css-loader": "6.5.1",
"dotenv": "6.0.0",
"dotenv": "16.0.0",
"dotenv-expand": "4.2.0",
"eslint-config-react-app": "7.0.0",
"eslint-plugin-react": "7.28.0",
Expand All @@ -36,31 +36,31 @@
"jest": "27.3.1",
"jest-sonar-reporter": "2.0.0",
"jest-watch-typeahead": "1.0.0",
"localforage": "1.7.3",
"mini-css-extract-plugin": "1.6.2",
"localforage": "1.10.0",
"mini-css-extract-plugin": "2.6.0",
"monaco-editor": "0.25.2",
"monaco-editor-webpack-plugin": "4.2.0",
"office-ui-fabric-core": "11.0.0",
"postcss-flexbugs-fixes": "5.0.2",
"postcss-loader": "4.3.0",
"postcss-preset-env": "7.3.0",
"postcss-preset-env": "7.4.2",
"re-resizable": "6.9.1",
"react": "16.14.0",
"react-app-polyfill": "0.2.1",
"react-dom": "16.8.2",
"react-intl": "2.8.0",
"react-redux": "7.1.0",
"redux": "4.1.2",
"redux-thunk": "2.3.0",
"redux-thunk": "2.4.1",
"resolve": "1.10.0",
"sass": "1.49.8",
"sass-loader": "12.6.0",
"style-loader": "2.0.0",
"typescript": "4.5.4",
"typescript": "4.6.2",
"url": "0.11.0",
"url-loader": "4.1.1",
"webpack": "5.67.0",
"webpack-dev-server": "4.7.3",
"webpack-dev-server": "4.7.4",
"webpack-manifest-plugin": "4.1.1",
"workbox-webpack-plugin": "6.4.2"
},
Expand Down Expand Up @@ -93,6 +93,7 @@
"@types/enzyme-adapter-react-16": "1.0.5",
"@types/isomorphic-fetch": "0.0.35",
"@types/jest": "24.0.6",
"@types/lodash.debounce": "4.0.6",
"@types/react": "17.0.35",
"@types/react-dom": "17.0.11",
"@types/react-intl": "3.0.0",
Expand All @@ -103,8 +104,8 @@
"@typescript-eslint/eslint-plugin": "5.12.0",
"@typescript-eslint/parser": "5.12.0",
"acorn": "8.7.0",
"babel-jest": "26.6.3",
"chromedriver": "^88.0.0",
"babel-jest": "27.5.1",
"chromedriver": "^99.0.0",
"enzyme": "3.11.0",
"enzyme-adapter-react-16": "1.15.6",
"eslint": "8.7.0",
Expand All @@ -113,7 +114,7 @@
"node-notifier": "10.0.0",
"react-dev-utils": "12.0.0",
"redux-logger": "3.0.6",
"redux-mock-store": "1.5.3",
"redux-mock-store": "1.5.4",
"selenium-webdriver": "4.1.1",
"start-server-and-test": "1.11.7",
"ts-jest": "27.0.7"
Expand All @@ -123,4 +124,4 @@
"reportFile": "test-report.xml",
"indent": 4
}
}
}
17 changes: 15 additions & 2 deletions src/app/utils/string-operations.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,24 @@
declare global {
interface String {
toSentenceCase(): String;
toSentenceCase(): string;
contains(searchText: string): boolean;
}
}

String.prototype.toSentenceCase = function () {
/**
* Converts the first character to uppercase if character is alphanumeric and the rest to lowercase
*/
String.prototype.toSentenceCase = function (): string {
return `${this.charAt(0).toUpperCase()}${this.toLowerCase().slice(1)}`;
};

/**
* Performs a case-insenstive search of a substring within a string and
* returns true if searchString appears as a substring of a string
* @param searchString search string
*/
String.prototype.contains = function (searchString: string): boolean {
return this.toLowerCase().includes(searchString.toLowerCase());
};

export {};
9 changes: 4 additions & 5 deletions src/app/views/app-sections/StatusMessages.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,20 +53,19 @@ const StatusMessages = () => {
if (queryRunnerStatus) {
const { messageType, statusText, status, duration, hint } = queryRunnerStatus;
let urls: any = {};
let message = statusText;
const extractedUrls = extractUrl(statusText);
let message = status.toString();
const extractedUrls = extractUrl(status.toString());
if (extractedUrls) {
message = replaceLinks(statusText);
message = replaceLinks(status.toString());
urls = convertArrayToObject(extractedUrls);
}


return <MessageBar messageBarType={messageType}
isMultiline={true}
onDismiss={() => dispatch(clearQueryStatus())}
dismissButtonAriaLabel='Close'
aria-live={'assertive'}>
{`${status} - `}{displayStatusMessage(message, urls)}
{`${statusText} - `}{displayStatusMessage(message, urls)}

{duration && <>
{` - ${duration}`}<FormattedMessage id='milliseconds' />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ const PanelList = ({ messages,
columns, classes, selection,
renderItemColumn, renderDetailsHeader, renderCustomCheckbox }: IPanelList) => {

const sortedPermissions = (permissionsToSort: IPermission[]) : IPermission[] => {
return permissionsToSort.sort(dynamicSort('value', SortOrder.ASC));
const sortPermissions = (permissionsToSort: IPermission[]): IPermission[] => {
return permissionsToSort ? permissionsToSort.sort(dynamicSort('value', SortOrder.ASC)) : [];
}

const { consentedScopes, scopes, authToken } = useSelector((state: IRootState) => state);
const { fullPermissions } = scopes.data;
const [permissions, setPermissions] = useState(sortedPermissions(fullPermissions));
const [permissions, setPermissions] = useState(sortPermissions(fullPermissions));
const permissionsList: any[] = [];
const tokenPresent = !!authToken.token;

Expand Down
4 changes: 2 additions & 2 deletions src/app/views/query-runner/request/permissions/TabList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ interface ITabList {
const TabList = ({ columns, classes, renderItemColumn, renderDetailsHeader, maxHeight }: ITabList) => {
const dispatch = useDispatch();
const { consentedScopes, scopes, authToken } = useSelector((state: IRootState) => state);
const permissions: IPermission[] = scopes.data.specificPermissions;
const permissions: IPermission[] = scopes.data.specificPermissions ? scopes.data.specificPermissions : [];
const tokenPresent = !!authToken.token;
const [isHoverOverPermissionsList, setIsHoverOverPermissionsList] = useState(false);

Expand Down Expand Up @@ -71,7 +71,7 @@ const TabList = ({ columns, classes, renderItemColumn, renderDetailsHeader, maxH
layoutMode={DetailsListLayoutMode.justified}
onRenderDetailsHeader={(props?: any, defaultRender?: any) => renderDetailsHeader(props, defaultRender)} />
</div>
{permissions && permissions.length === 0 &&
{permissions.length === 0 &&
displayNoPermissionsFoundMessage()
}
</>
Expand Down
11 changes: 11 additions & 0 deletions src/app/views/sidebar/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import React from 'react';
import { telemetry } from '../../../telemetry';
import { translateMessage } from '../../utils/translate-messages';
import History from './history/History';
import { ResourceExplorer } from './resource-explorer';
import SampleQueries from './sample-queries/SampleQueries';
export const Sidebar = () => {
return (
Expand All @@ -19,6 +20,16 @@ export const Sidebar = () => {
>
<div id={'sample-queries-tab'}><SampleQueries /></div>
</PivotItem>
<PivotItem
headerText={translateMessage('Resources')}
itemIcon='ExploreData'
itemKey='resources'
headerButtonProps={{
'aria-controls': 'resources-tab'
}}
>
<div id={'resources-tab'}><ResourceExplorer /></div>
</PivotItem>
<PivotItem
headerText={translateMessage('History')}
itemIcon='History'
Expand Down
3 changes: 2 additions & 1 deletion src/app/views/sidebar/history/History.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ export class History extends Component<IHistoryProps, any> {
shouldFocusOnMount: true,
items: buttonActions
}}
styles={{root: {paddingBottom: 10, marginLeft: -1.2}}}
styles={{root: {paddingBottom: 10, marginLeft: 1}}}
/>
</TooltipHost>
);
Expand Down Expand Up @@ -281,6 +281,7 @@ export class History extends Component<IHistoryProps, any> {
}}
ariaLabel={collapseButtonLabel}
onClick={() => this.onToggleCollapse(props)}
styles={{icon: {marginTop: '15px'}}}
/>
</TooltipHost>
<div className={classes.groupTitle}>
Expand Down
2 changes: 1 addition & 1 deletion src/app/views/sidebar/history/history-utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export async function readHistoryData(): Promise<IHistoryItem[]> {
if (historyItemHasExpired(creationTime)) {
historyStorage.removeItem(creationTime);
} else {
const historyItem: IHistoryItem = await historyStorage.getItem(creationTime);
const historyItem = await historyStorage.getItem(creationTime)! as IHistoryItem;
historyData = [...historyData, historyItem];
}
}
Expand Down
79 changes: 33 additions & 46 deletions src/app/views/sidebar/resource-explorer/ResourceExplorer.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import {
Breadcrumb, ChoiceGroup, DefaultButton,
IBreadcrumbItem, IChoiceGroupOption, INavLink, INavLinkGroup, Label, Nav, SearchBox, Spinner, SpinnerSize,
Stack, styled
Breadcrumb, DefaultButton,
IBreadcrumbItem, INavLink, INavLinkGroup, Label, Nav,
SearchBox, Spinner, SpinnerSize,
Stack, styled, Toggle
} from '@fluentui/react';
import React, { useEffect, useState } from 'react';
import debouce from 'lodash.debounce';
import React, { useEffect, useMemo, useState } from 'react';
import { FormattedMessage } from 'react-intl';
import { useDispatch, useSelector } from 'react-redux';
import { telemetry, eventTypes, componentNames } from '../../../../telemetry';
import { IQuery } from '../../../../types/query-runner';

import { componentNames, eventTypes, telemetry } from '../../../../telemetry';
import { IQuery } from '../../../../types/query-runner';
import { IResource, IResourceLink, ResourceLinkType, ResourceOptions } from '../../../../types/resources';
import { IRootState } from '../../../../types/root';
import { setSampleQuery } from '../../../services/actions/query-input-action-creators';
Expand Down Expand Up @@ -40,27 +42,20 @@ const unstyledResourceExplorer = (props: any) => {
{ key: 'beta', text: 'beta', iconProps: { iconName: 'PartlyCloudyNight' } }
];
const [version, setVersion] = useState(versions[0].key);
const filteredPayload = getResourcesSupportedByVersion(data, version);
const navigationGroup = createResourcesList(filteredPayload.children, version);
const [searchText, setSearchText] = useState<string>('');
const filteredPayload = getResourcesSupportedByVersion(data.children, version, searchText);
const navigationGroup = createResourcesList(filteredPayload, version, searchText);

const [resourceItems, setResourceItems] = useState<IResource[]>(filteredPayload.children);
const [resourceItems, setResourceItems] = useState<IResource[]>(filteredPayload);
const [items, setItems] = useState<INavLinkGroup[]>(navigationGroup);

useEffect(() => {
setItems(navigationGroup);
setResourceItems(filteredPayload.children)
}, [filteredPayload.children.length]);
setResourceItems(filteredPayload)
}, [filteredPayload.length]);

const [isolated, setIsolated] = useState<any>(null);
const [searchText, setSearchText] = useState<string>('');

const performSearch = (needle: string, haystack: IResource[]) => {
const keyword = needle.toLowerCase();
return haystack.filter((sample: IResource) => {
const name = sample.segment.toLowerCase();
return name.toLowerCase().includes(keyword);
});
}
const [linkLevel, setLinkLevel] = useState(-1);

const generateBreadCrumbs = () => {
if (!!isolated && isolated.paths.length > 0) {
Expand All @@ -81,31 +76,20 @@ const unstyledResourceExplorer = (props: any) => {
dispatch(addResourcePaths(getResourcePaths(item, version)));
}

const changeVersion = (ev: React.FormEvent<HTMLElement | HTMLInputElement> | undefined,
option: IChoiceGroupOption | undefined): void => {
const selectedVersion = option!.key;
const changeVersion = (_event: React.MouseEvent<HTMLElement>, checked?: boolean | undefined): void => {
const selectedVersion = checked ? versions[1].key : versions[0].key;
setVersion(selectedVersion);
const list = getResourcesSupportedByVersion(data, selectedVersion);
const dataSet = (searchText) ? performSearch(searchText, list.children) : list.children;
setResourceItems(dataSet);
setItems(createResourcesList(dataSet, selectedVersion));
}

const changeSearchValue = (event: any, value?: string) => {
let filtered: any[] = [...data.children];
setSearchText(value || '');
if (value) {
filtered = performSearch(value, filtered);
}
const dataSet = getResourcesSupportedByVersion({
children: filtered,
labels: data.labels,
segment: data.segment
}, version).children;
setResourceItems(dataSet);
setItems(createResourcesList(dataSet, version));
const trimmedSearchText = value ? value.trim() : '';
setSearchText(trimmedSearchText);
}

const debouncedSearch = useMemo(() => {
return debouce(changeSearchValue, 300);
}, []);

const navigateToBreadCrumb = (ev?: any, item?: IBreadcrumbItem): void => {
const iterator = item!.key;
if (iterator === '/') {
Expand All @@ -130,6 +114,7 @@ const unstyledResourceExplorer = (props: any) => {
];
setItems(tree);
setIsolated(navLink);
setLinkLevel(navLink.level);
telemetry.trackEvent(eventTypes.LISTITEM_CLICK_EVENT,
{
ComponentName: componentNames.RESOURCES_ISOLATE_QUERY_LIST_ITEM,
Expand All @@ -140,8 +125,9 @@ const unstyledResourceExplorer = (props: any) => {
const disableIsolation = (): void => {
setIsolated(null);
setSearchText('');
const filtered = getResourcesSupportedByVersion(data, version);
setItems(createResourcesList(filtered.children, version));
const filtered = getResourcesSupportedByVersion(data.children, version);
setLinkLevel(-1);
setItems(createResourcesList(filtered, version));
}

const clickLink = (ev?: React.MouseEvent<HTMLElement>, item?: INavLink) => {
Expand Down Expand Up @@ -196,17 +182,17 @@ const unstyledResourceExplorer = (props: any) => {
{!isolated && <>
<SearchBox
placeholder={translateMessage('Search resources')}
onChange={changeSearchValue}
onChange={debouncedSearch}
disabled={!!isolated}
styles={searchBoxStyles}
/>
<hr />
<Stack wrap tokens={{ childrenGap: 10, padding: 10 }}>
<ChoiceGroup
label={translateMessage('Select version')}
defaultSelectedKey={version}
options={versions}
<Toggle label={`${translateMessage('Switch to beta')}`}
onChange={changeVersion}
onText={translateMessage('On')}
offText={translateMessage('Off')}
inlineLabel
/>
</Stack>
</>}
Expand Down Expand Up @@ -246,6 +232,7 @@ const unstyledResourceExplorer = (props: any) => {
link={link}
isolateTree={isolateTree}
resourceOptionSelected={(activity: string, context: unknown) => resourceOptionSelected(activity, context)}
linkLevel={linkLevel}
classes={classes}
/>
}}
Expand Down
Loading