searchOpen() {
        if (!this.box) return
        if (this.searches.length === 0) return
        // event before
        let edata = this.trigger('searchOpen', { target: this.name })
        if (edata.isCancelled === true) {
            return
        }
        let $btn = query(this.toolbar.box).find('.w2ui-grid-search-input .w2ui-search-drop')
        $btn.addClass('checked')
        // show search
        w2tooltip.show({
            name: this.name + '-search-overlay',
            anchor: query(this.box).find('#grid_'+ this.name +'_search_all').get(0),
            position: 'bottom|top',
            html: this.getSearchesHTML(),
            align: 'left',
            arrowSize: 12,
            class: 'w2ui-grid-search-advanced',
            hideOn: ['doc-click']
        })
        .then(event => {
            this.initSearches()
            this.last.search_opened = true
            let overlay = query(`#w2overlay-${this.name}-search-overlay`)
            overlay
                .data('gridName', this.name)
                .off('.grid-search')
                .on('click.grid-search', () => {
                // hide any tooltip opened by searches
                    overlay.find('input, select').each(el => {
                        let names = query(el).data('tooltipName')
                        if (names) names.forEach(name => {
                            w2tooltip.hide(name)
                        })
                    })
                })
            w2utils.bindEvents(overlay.find('select, input, button'), this)
            // init first field
            let sfields = query(`#w2overlay-${this.name}-search-overlay *[rel=search]`)
            if (sfields.length > 0) sfields[0].focus()
            // event after
            edata.finish()
        })
        .hide(event => {
            $btn.removeClass('checked')
            this.last.search_opened = false
        })
    }
If user searched ALL field and there was no matching searches then add a bogus field, so that no result will be
shown. Otherwise search string is not empty, but no fields is actually applied and all fields are shown