public render()

in src/electron/views/results/results-view.tsx [90:175]


    public render(): JSX.Element {
        const { status } = this.props.scanStoreData;
        const {
            unifiedScanResultStoreData,
            cardSelectionStoreData,
            deps,
            userConfigurationStoreData,
        } = this.props;
        const { rules, results, toolInfo } = unifiedScanResultStoreData;

        const contentPageInfo: ContentPageInfo = this.getContentPageInfo();

        const cardSelectionViewData = deps.getCardSelectionViewData(
            cardSelectionStoreData,
            unifiedScanResultStoreData,
            deps.isResultHighlightUnavailable,
            contentPageInfo.resultsFilter,
        );

        const cardsViewData = deps.getCardsViewData(rules, results, cardSelectionViewData);
        deps.toolData = toolInfo;

        const highlightedResultUids = Object.keys(
            cardSelectionViewData.resultsHighlightStatus,
        ).filter(uid => cardSelectionViewData.resultsHighlightStatus[uid] === 'visible');

        const screenshotViewModel = deps.screenshotViewModelProvider(
            unifiedScanResultStoreData,
            highlightedResultUids,
        );

        const scanMetadata: ScanMetadata = this.getScanMetadata(
            status,
            unifiedScanResultStoreData,
            deps.getDateFromTimestamp,
        );

        const visualHelperSectionProps: VisualHelperSectionProps = {
            deps: deps,
            viewModel: screenshotViewModel,
            narrowModeStatus: this.props.narrowModeStatus,
            deviceId: this.props.androidSetupStoreData.selectedDevice.id,
        };

        const VisualHelperSectionComponent = contentPageInfo.visualHelperSection;

        return (
            <div className={styles.resultsView} data-automation-id={resultsViewAutomationId}>
                <TitleBar
                    deps={this.props.deps}
                    pageTitle={contentPageInfo.title}
                    windowStateStoreData={this.props.windowStateStoreData}
                ></TitleBar>
                <div className={styles.applicationView}>
                    {this.getLeftNav()}
                    <div className={styles.resultsPanelContainer}>
                        {this.renderReflowCommandBar(cardsViewData, scanMetadata)}
                        <div className={styles.resultsPanelLayout}>
                            <div className={styles.mainContentWrapper}>
                                <main>
                                    <TestView
                                        deps={deps}
                                        scanStatus={status}
                                        scanMetadata={scanMetadata}
                                        userConfigurationStoreData={userConfigurationStoreData}
                                        cardsViewData={cardsViewData}
                                        contentPageInfo={contentPageInfo}
                                        tabStopsEnabled={this.props.tabStopsStoreData.focusTracking}
                                    />
                                </main>
                            </div>
                            <VisualHelperSectionComponent {...visualHelperSectionProps} />
                            {this.renderDeviceDisconnected()}
                        </div>
                    </div>
                </div>
                <SettingsPanel
                    layerClassName={styles.settingsPanelLayerHost}
                    deps={this.props.deps}
                    isOpen={this.props.detailsViewStoreData.currentPanel.isSettingsOpen}
                    featureFlagData={{}}
                    userConfigStoreState={this.props.userConfigurationStoreData}
                />
            </div>
        );
    }