render()

in src/component.tsx [502:565]


    render() {
        const datasets: IDatasets = {
            rows_all_unfiltered: this.state.rows_all_unfiltered,
            rows_filtered: this.state.rows_filtered,
            rows_highlighted: this.state.rows_highlighted,
            rows_selected: this.state.rows_selected
        };
        const controlProps: HiPlotDataControlProps = {
            restoreAllRows: this.restoreAllRows.bind(this),
            filterRows: this.filterRows.bind(this),
            ...datasets
        };
        const createPluginProps = function(this: HiPlot, idx: number, name: string): React.ClassAttributes<React.ComponentClass<HiPlotPluginData>> & HiPlotPluginData {
            return {
                ref: this.plugins_ref[idx],
                ...(this.state.experiment.display_data && this.state.experiment.display_data[name] ? this.state.experiment.display_data[name] : {}),
                ...datasets,
                rows_selected_filter: this.state.rows_selected_filter,
                name: name,
                persistentState: this.state.persistentState.children(name),
                window_state: this.plugins_window_state[name],
                sendMessage: this.sendMessage.bind(this),
                get_color_for_row: this.getColorForRow.bind(this),
                experiment: this.state.experiment,
                params_def: this.state.params_def,
                params_def_unfiltered: this.state.params_def_unfiltered,
                dp_lookup: this.state.dp_lookup,
                colorby: this.state.colorby,
                render_row_text: this.renderRowText.bind(this),
                context_menu_ref: this.contextMenuRef,
                setSelected: this.setSelected.bind(this),
                setHighlighted: this.setHighlighted.bind(this),
                asserts: this.props.asserts,
            };
        }.bind(this);
        return (
        <div ref={this.rootRef} className={`hip_thm--${this.state.dark ? "dark" : "light"}`}>
            <div className={style.hiplot}>
            <SelectedCountProgressBar {...controlProps} />
            <HeaderBar
                weightColumn={this.state.experiment ? this.state.experiment.weightcolumn : undefined}
                onLoadExperiment={this.loadWithPromise.bind(this)}
                persistentState={this.state.persistentState}
                dataProvider={this.state.dataProvider}
                loadStatus={this.state.loadStatus}
                dark={this.state.dark}
                {...controlProps}
            />
            {this.state.loadStatus == HiPlotLoadStatus.Error &&
                <ErrorDisplay error={this.state.error} />
            }
            {this.state.loadStatus != HiPlotLoadStatus.Loaded &&
                <DocAndCredits dark={this.state.dark} />
            }
            <ContextMenu ref={this.contextMenuRef}/>
            {this.state.loadStatus == HiPlotLoadStatus.Loaded &&
            <div>
                {Object.entries(this.props.plugins).map((plugin, idx) => <React.Fragment key={idx}>{React.createElement(plugin[1], createPluginProps(idx, plugin[0]))}</React.Fragment>)}
            </div>
            }
            </div>
        </div>
        );
    }