src/app/modelRepository/view.tsx (29 lines of code) (raw):

/*********************************************************** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License **********************************************************/ import * as React from 'react'; import { useTranslation } from 'react-i18next'; import { Prompt } from 'react-router-dom'; import { ResourceKeys } from '../../localization/resourceKeys'; import { ModelRepositoryLocationList } from './components/modelRepositoryLocationList'; import { ModelRepositoryInstruction } from './components/modelRepositoryInstruction'; import { useBreadcrumbEntry } from '../navigation/hooks/useBreadcrumbEntry'; import { AppInsightsClient } from '../shared/appTelemetry/appInsightsClient'; import { TELEMETRY_PAGE_NAMES } from '../constants/telemetry'; import { Commands } from './components/commands'; import { useModelRepositoryForm } from './hooks/useModelRepositoryForm'; export const ModelRepositoryLocationView: React.FC = () => { const { t } = useTranslation(); useBreadcrumbEntry({ name: t(ResourceKeys.breadcrumb.ioTPlugAndPlay)}); const formState = useModelRepositoryForm(); React.useEffect(() => { AppInsightsClient.getInstance()?.trackPageView({name: TELEMETRY_PAGE_NAMES.PNP_REPO_SETTINGS}); }, []); // tslint:disable-line: align return ( <div> <Prompt when={formState[0].dirty} message={t(ResourceKeys.common.navigation.confirm)}/> <Commands formState={formState}/> <div> <ModelRepositoryInstruction/> <ModelRepositoryLocationList formState={formState}/> </div> </div> ); };