render() {
        this.recordStates = [];
        this.unsubscribeTimer && clearTimeout(this.unsubscribeTimer);

        // apply filter if changed
        const jsonFilter = JSON.stringify(this.state.filter);
        if (this.lastAppliedFilter !== jsonFilter && this.objects && this.root) {
            const counter = {count: 0};

            applyFilter(this.root, this.state.filter, this.state.lang, this.objects, null, counter, this.props.customFilter);

            if (counter.count < 500 && !this.state.expandAllVisible) {
                setTimeout(() => this.setState({ expandAllVisible: true }));
            } else if (counter.count >= 500 && this.state.expandAllVisible) {
                setTimeout(() => this.setState({ expandAllVisible: false }));
            }

            this.lastAppliedFilter = jsonFilter;
        }

        this.unsubscribeTimer = setTimeout(() => {
            this.unsubscribeTimer = null;
            this.checkUnsubscribes();
        }, 200);

        if (!this.state.loaded) {
            return <CircularProgress key={this.props.dialogName + '_c'}/>;
        } else {
            const classes = this.props.classes;
            const items = this.renderItem(this.root, undefined, classes);

            return <TabContainer key={this.props.dialogName}>
                <TabHeader>
                    { this.getToolbar() }
                </TabHeader>
                <TabContent>
                    { this.renderHeader() }
                    <div className={ this.props.classes.tableDiv } ref={ this.tableRef }>
                        { items }
                    </div>
                </TabContent>
                { this.renderToast() }
                { this.renderColumnsEditCustomDialog() }
                { this.renderColumnsSelectorDialog() }
                { this.renderCustomDialog() }
                { this.renderEditValueDialog() }
                { this.renderEditObjectDialog() }
                { this.renderEnumDialog() }
                { this.renderErrorDialog() }
            </TabContainer>;
        }
    }
/**
     * The rendering method of this component.
     * @returns {JSX.Element}
     */
The rendering method of this component.
The rendering method of this component .
render() {
        this.recordStates = [];
        this.unsubscribeTimer && clearTimeout(this.unsubscribeTimer);
        const jsonFilter = JSON.stringify(this.state.filter);
        if (this.lastAppliedFilter !== jsonFilter && this.objects && this.root) {
            const counter = {count: 0};
            applyFilter(this.root, this.state.filter, this.state.lang, this.objects, null, counter, this.props.customFilter);
            if (counter.count < 500 && !this.state.expandAllVisible) {
                setTimeout(() => this.setState({ expandAllVisible: true }));
            } else if (counter.count >= 500 && this.state.expandAllVisible) {
                setTimeout(() => this.setState({ expandAllVisible: false }));
            }
            this.lastAppliedFilter = jsonFilter;
        }
        this.unsubscribeTimer = setTimeout(() => {
            this.unsubscribeTimer = null;
            this.checkUnsubscribes();
        }, 200);
        if (!this.state.loaded) {
            return <CircularProgress key={this.props.dialogName + '_c'}/>;
        } else {
            const classes = this.props.classes;
            const items = this.renderItem(this.root, undefined, classes);
            return <TabContainer key={this.props.dialogName}>
                <TabHeader>
                    { this.getToolbar() }
                </TabHeader>
                <TabContent>
                    { this.renderHeader() }
                    <div className={ this.props.classes.tableDiv } ref={ this.tableRef }>
                        { items }
                    </div>
                </TabContent>
                { this.renderToast() }
                { this.renderColumnsEditCustomDialog() }
                { this.renderColumnsSelectorDialog() }
                { this.renderCustomDialog() }
                { this.renderEditValueDialog() }
                { this.renderEditObjectDialog() }
                { this.renderEnumDialog() }
                { this.renderErrorDialog() }
            </TabContainer>;
        }
    }
render ( ) { this . recordStates = [ ] ; this . unsubscribeTimer && clearTimeout ( this . unsubscribeTimer ) ; const jsonFilter = JSON . stringify ( this . state . filter ) ; if ( this . lastAppliedFilter !== jsonFilter && this . objects && this . root ) { const counter = { count : 0 } ; applyFilter ( this . root , this . state . filter , this . state . lang , this . objects , null , counter , this . props . customFilter ) ; if ( counter . count < 500 && ! this . state . expandAllVisible ) { setTimeout ( ( ) => this . setState ( { expandAllVisible : true } ) ) ; } else if ( counter . count >= 500 && this . state . expandAllVisible ) { setTimeout ( ( ) => this . setState ( { expandAllVisible : false } ) ) ; } this . lastAppliedFilter = jsonFilter ; } this . unsubscribeTimer = setTimeout ( ( ) => { this . unsubscribeTimer = null ; this . checkUnsubscribes ( ) ; } , 200 ) ; if ( ! this . state . loaded ) { return < CircularProgress key = { this . props . dialogName + '_c' } / > ; } else { const classes = this . props . classes ; const items = this . renderItem ( this . root , undefined , classes ) ; return < TabContainer key = { this . props . dialogName } > < TabHeader > { this . getToolbar ( ) } < / TabHeader > < TabContent > { this . renderHeader ( ) } < div className = { this . props . classes . tableDiv } ref = { this . tableRef } > { items } < / div > < / TabContent > { this . renderToast ( ) } { this . renderColumnsEditCustomDialog ( ) } { this . renderColumnsSelectorDialog ( ) } { this . renderCustomDialog ( ) } { this . renderEditValueDialog ( ) } { this . renderEditObjectDialog ( ) } { this . renderEnumDialog ( ) } { this . renderErrorDialog ( ) } < / TabContainer > ; } }
The rendering method of this component.
The rendering method of this component .
// apply filter if changed