<espositori>
    <content-header title="{ gettext('espositori_titolo') }"></content-header>
    <section class="content">
        <div class="row">
            <div class="col-md-12">
                <div class="box">
                    <div class="box-header with-border">
                        <h3 class="box-title">{ gettext('espositori_filtra') }...</h3>
                    </div>
                    <div class="box-body">
                        <div class="filter-row">
                            <div class="row">
                                <div class="col-md-3">
                                    <div class="form-group">
                                        <span>{ gettext('espositori_categorie') }:</span> <select id="categorie" multiple class="form-control select2" title="{ gettext('espositori_categorie') }">
                                            <option value="{ C_PRODUTTORE }">{ gettext('expo_C_PRODUTTORE') }</option>
                                            <option value="{ C_DISTRIBUTORE }">{ gettext('expo_C_DISTRIBUTORE') }</option>
                                            <option value="{ C_BROKER }">{ gettext('expo_C_BROKER') }</option>
                                            <option value="{ C_SERVIZI }">{ gettext('expo_C_SERVIZI') }</option>
                                            <option value="{ C_FOODTECH }">{ gettext('expo_C_FOODTECH') }</option>
                                        </select> 
                                    </div>           
                                </div>
                                <div class="col-md-2">                                
                                    <div class="form-group">
                                        <span>{ gettext('espositori_fatturato') }:</span> <select id="scaglioneFatturatoAnnuo" class="form-control select2" title="{ gettext('espositori_fatturato') }">
                                            <option value=""></option>
                                            <option value="1">{ gettext('espositori_fatturato_1') } &euro;</option>
                                            <option value="2">{ gettext('espositori_fatturato_2') } &euro;</option>
                                            <option value="3">{ gettext('espositori_fatturato_3') } &euro;</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="col-md-2">
                                    <div class="form-group">
                                        <span>{ gettext('espositori_fatturatoitalia') }:</span> <select id="scaglioneFatturatoItalia" class="form-control select2" title="{ gettext('espositori_fatturatoitalia') }">
                                            <option value=""></option>
                                            <option value="1">{ gettext('espositori_fatturatoitalia_1') }</option>
                                            <option value="2">{ gettext('espositori_fatturatoitalia_2') }</option>
                                            <option value="3">{ gettext('espositori_fatturatoitalia_3') }</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="col-md-2">
                                    <div class="form-group">
                                        <span>Latte:</span> <select id="latte" multiple class="form-control select2" title="Latte">
                                            <option value='vacca'>{ gettext('espositori_vacca') }</option>
                                            <option value='capra'>{ gettext('espositori_capra') }</option>
                                            <option value='pecora'>{ gettext('espositori_pecora') }</option>
                                            <option value='bufala'>{ gettext('espositori_bufala') }</option>
                                            <option value='asina'>{ gettext('espositori_asina') }</option>
                                            <option value='altro'>{ gettext('espositori_altro') }</option>
                                        </select> 
                                    </div>   
                                </div>
                                <div class="col-md-3">                        
                                    <div class="form-group">
                                        <span>{ gettext('espositori_prodotti') }:</span> <select id="prodotti" multiple class="form-control select2" title="{ gettext('espositori_prodotti') }">
                                            <option value='Asiago D.O.P.'>Asiago D.O.P.</option>
                                            <option value='Bitto D.O.P.'>Bitto D.O.P.</option>
                                            <option value='Bra D.O.P.'>Bra D.O.P.</option>
                                            <option value='Burrata di Andria I.G.P.'>Burrata di Andria I.G.P.</option>
                                            <option value='Caciocavallo Silano D.O.P.'>Caciocavallo Silano D.O.P.</option>
                                            <option value='Canestrato di Moliterno I.G.P.'>Canestrato di Moliterno I.G.P.</option>                                            '
                                            <option value='Canestrato Pugliese D.O.P.'>Canestrato Pugliese D.O.P.</option>
                                            <option value='Casciotta d’Urbino D.O.P.'>Casciotta d&rsquo;Urbino D.O.P.</option>
                                            <option value='Casatella Trevigiana D.O.P.'>Casatella Trevigiana D.O.P.</option>
                                            <option value='Castelmagno D.O.P.'>Castelmagno D.O.P.</option>
                                            <option value='Fiore Sardo D.O.P.'>Fiore Sardo D.O.P.</option>
                                            <option value='Fontina D.O.P.'>Fontina D.O.P.</option>
                                            <option value='Formaggella del Luinese D.O.P.'>Formaggella del Luinese D.O.P.</option>
                                            <option value='Formaggio di Fossa di Sogliano D.O.P.'>Formaggio di Fossa di Sogliano D.O.P.</option>
                                            <option value='Formai de Mut dell’Alta Valle Brembana D.O.P.'>Formai de Mut dell&rsquo;Alta Valle Brembana D.O.P.</option>
                                            <option value='Gorgonzola D.O.P.'>Gorgonzola D.O.P.</option>
                                            <option value='Grana Padano D.O.P.'>Grana Padano D.O.P.</option>
                                            <option value='Montasio D.O.P.'>Montasio D.O.P.</option>
                                            <option value='Monte Veronese D.O.P.'>Monte Veronese D.O.P.</option>
                                            <option value='Mozzarella di Bufala Campana D.O.P.'>Mozzarella di Bufala Campana D.O.P.</option>
                                            <option value='Mozzarella di Gioia del Colle D.O.P.'>Mozzarella di Gioia del Colle D.O.P.</option>
                                            <option value='Murazzano D.O.P.'>Murazzano D.O.P.</option>
                                            <option value='Nostrano Valtrompia D.O.P.'>Nostrano Valtrompia D.O.P.</option>
                                            <option value='Ossolano D.O.P.'>Ossolano D.O.P.</option>
                                            <option value='Parmigiano Reggiano D.O.P.'>Parmigiano Reggiano D.O.P.</option>
                                            <option value='Pecorino Crotonese D.O.P.'>Pecorino Crotonese D.O.P.</option>
                                            <option value='Pecorino del Monte Poro D.O.P.'>Pecorino del Monte Poro D.O.P.</option>
                                            <option value='Pecorino delle Balze Volterrane D.O.P.'>Pecorino delle Balze Volterrane D.O.P.</option>
                                            <option value='Pecorino di Filiano D.O.P.'>Pecorino di Filiano D.O.P.</option>
                                            <option value='Pecorino di Picinisco D.O.P.'>Pecorino di Picinisco D.O.P.</option>
                                            <option value='Pecorino Romano D.O.P.'>Pecorino Romano D.O.P.</option>
                                            <option value='Pecorino Sardo D.O.P.'>Pecorino Sardo D.O.P.</option>
                                            <option value='Pecorino Siciliano D.O.P.'>Pecorino Siciliano D.O.P.</option>
                                            <option value='Pecorino Toscano D.O.P.'>Pecorino Toscano D.O.P.</option>
                                            <option value='Piacentinu Ennese D.O.P.'>Piacentinu Ennese D.O.P.</option>
                                            <option value='Piave D.O.P.'>Piave D.O.P.</option>
                                            <option value='Provola dei Nebrodi D.O.P.'>Provola dei Nebrodi D.O.P.</option>
                                            <option value='Provolone del Monaco D.O.P.'>Provolone del Monaco D.O.P.</option>
                                            <option value='Provolone Valpadana D.O.P.'>Provolone Valpadana D.O.P.</option>
                                            <option value='Puzzone di Moena / Spretz Tzaorì D.O.P.'>Puzzone di Moena / Spretz Tzaor&igrave; D.O.P.</option>
                                            <option value='Quartirolo Lombardo D.O.P.'>Quartirolo Lombardo D.O.P.</option>
                                            <option value='Ragusano D.O.P.'>Ragusano D.O.P.</option>
                                            <option value='Raschera D.O.P.'>Raschera D.O.P.</option>
                                            <option value='Robiola di Roccaverano D.O.P.'>Robiola di Roccaverano D.O.P.</option>
                                            <option value='Salva Cremasco D.O.P.'>Salva Cremasco D.O.P.</option>
                                            <option value='Silter D.O.P.'>Silter D.O.P.</option>
                                            <option value='Spressa delle Giudicarie D.O.P.'>Spressa delle Giudicarie D.O.P.</option>
                                            <option value='Squacquerone di Romagna D.O.P.'>Squacquerone di Romagna D.O.P.</option>
                                            <option value='Stelvio / Stilfser D.O.P.'>Stelvio / Stilfser D.O.P.</option>
                                            <option value='Strachitunt D.O.P.'>Strachitunt D.O.P.</option>
                                            <option value='Taleggio D.O.P.'>Taleggio D.O.P.</option>
                                            <option value='Toma Piemontese D.O.P.'>Toma Piemontese D.O.P.</option>
                                            <option value='Valle d’Aosta Fromadzo D.O.P.'>Valle d&rsquo;Aosta Fromadzo D.O.P.</option>
                                            <option value='Valtellina Casera D.O.P.'>Valtellina Casera D.O.P.</option>
                                            <option value='Vastedda della Valle del Belice D.O.P.'>Vastedda della Valle del Belice D.O.P.</option>
                                        </select> 
                                    </div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>{ gettext('espositori_biologico') }</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="biologico" ref="biologico"> { gettext('espositori_SI') }<!--<img src="/assets/img/bio.jpg" alt="Prodotto biologico" title="Prodotto biologico" />-->
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>D.O.P.</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="dop" ref="dop"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>ISO 22000</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="iso22000" ref="iso22000"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>Fsc 22000</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="fsc22000" ref="fsc22000"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>Brc IOP</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="brciop" ref="brciop"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>UNI EN 15593:2008</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="unien15593" ref="unien15593"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>ISO 22000 Packaging</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="iso22000p" ref="iso22000p"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>&#7716;al&#257;l</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="halal" ref="halal"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>Kosher</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="kosher" ref="kosher"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-1 col-xs-6">
                                    <div class="form-group"><span>Qualit&agrave; Vegetariana&reg;</span>
                                        <div class="checkbox icheck">
                                            <label>
                                                <input type="checkbox" name="qveg" ref="qveg"> { gettext('espositori_SI') }
                                            </label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="no-padding">
                            <div class="loading"><i class="fas fa-spinner fa-pulse"></i> { gettext('table_caricamento') }</div>
                            <table id="tbl_espositori" class="table table-hover" style="width: 100%;">
                                <thead>
                                    <tr>
                                        <th></th>
                                        <th>{ gettext('buyer_ragioneSociale') }</th>
                                        <th>{ gettext('buyer_citta') }</th>
                                        <th>{ gettext('expo_stato') }</th>
                                        <th>{ gettext('espositori_categorie') }</th>
                                        <th>cat_search</th>
                                        <th>Prodotti</th>
                                        <th>latte_search</th>
                                        <th>bio_search</th>
                                        <th>dop_search</th>
                                        <th>ft_annuo_search</th>
                                        <th>ft_it_search</th>
                                    </tr>
                                </thead>
                                <tbody>
                                </tbody>
                            </table>
                        </div>    
                    </div>
                    <!-- /.box-body -->
                </div>
            </div>
        </div>
    </section>

    <style>
        #tbl_espositori {
            display: none;
        }
        .bg-logo {
            width: 150px;
            height: 80px;
            margin: 0 auto;
            background-position: center center;
            background-repeat: no-repeat;
            background-size: contain;
        }
        .checkbox.icheck {
            margin-top: 0;
            margin-bottom: 0;
            line-height: 32px;
        }
        .form-group span,
        .dataTables_wrapper .dataTables_filter label {
            text-transform: uppercase;
            font-weight: bold;
            font-size: 12px;
            color: #e8bf69;
        }
    </style>

    <script>
        var tag = this;
        tag.table = null;
        tag.expoRows = [];
        tag.filter_categorie = [];
        tag.filter_prodotti = [];
        tag.filter_latte = [];
        tag.filter_scaglioneFatturatoAnnuo = "";
        tag.filter_scaglioneFatturatoItalia = "";
        tag.filter_biologico = false;
        tag.filter_dop = false;
        tag.filter_iso22000 = false;
        tag.filter_fsc22000 = false;
        tag.filter_brciop = false;
        tag.filter_unien15593 = false;
        tag.filter_iso22000p = false;
        tag.filter_halal = false;
        tag.filter_kosher = false;
        tag.filter_qveg = false;

        tag.on('mount', function () {
            RiotBus.getInstance().on('expo::response', tag.expoResponse);
            RiotBus.getInstance().trigger('expo::request');
            var selects = ["#categorie", "#prodotti", "#latte", "#scaglioneFatturatoAnnuo", "#scaglioneFatturatoItalia"];
            for (var i = 0; i < selects.length; i++) {
                var s = selects[i];
                var $select = $(s);
                if ($select.hasClass("select2-hidden-accessible")) {
                    $select.select2('destroy');
                }
                var options = [];
                var selectOptions = {
                    placeholder: tag.gettext("seleziona") + "...",
                    allowClear: true
                };
                $select.select2(selectOptions);
                $select.on('select2:select', function (e) {
                    var f = "filter_" + $(e.target).attr('id');
                    var id = e.params.data.id;
                    if (typeof tag[f] === "string") {
                        tag[f] = id;
                    } else if (typeof tag[f] === "object") {
                        tag[f].push(id);
                    }
                    tag.filterTable();
                }).on('select2:unselect', function (e) {
                    $(this).data('unselecting', true);
                    var f = "filter_" + $(e.target).attr('id');
                    var id = e.params.data.id;
                    if (typeof tag[f] === "string") {
                        tag[f] = "";
                    } else if (typeof tag[f] === "object") {
                        var index = tag[f].indexOf(id);
                        if (index !== -1) {
                            tag[f].splice(index, 1);
                        }
                    }
                    tag.filterTable();
                    $select.select2('close');
                }).on('select2:opening', function (e) {
                    if ($(this).data('unselecting')) {
                        $(this).removeData('unselecting');
                        e.preventDefault();
                    }
                });
            }
            $('[name="biologico"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_biologico = event.target.checked;
                tag.filterTable();
            });
            $('[name="dop"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_dop = event.target.checked;
                tag.filterTable();
            });
            $('[name="iso22000"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_iso22000 = event.target.checked;
                tag.filterTable();
            });
            $('[name="fsc22000"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_fsc22000 = event.target.checked;
                tag.filterTable();
            });
            $('[name="brciop"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_brciop = event.target.checked;
                tag.filterTable();
            });
            $('[name="unien15593"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_unien15593 = event.target.checked;
                tag.filterTable();
            });
            $('[name="iso22000p"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_iso22000p = event.target.checked;
                tag.filterTable();
            });
            $('[name="halal"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_halal = event.target.checked;
                tag.filterTable();
            });
            $('[name="kosher"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_kosher = event.target.checked;
                tag.filterTable();
            });
            $('[name="qveg"]').iCheck({
                checkboxClass: 'icheckbox_minimal-grey',
                radioClass: 'iradio_minimal-grey'
            }).on('ifChanged', function (event) {
                tag.filter_qveg = event.target.checked;
                tag.filterTable();
            });
        });

        tag.on('unmount', function () {
            RiotBus.getInstance().off('expo::response', tag.expoResponse);
        });

        tag.expoResponse = function (results) {
            $(".loading").fadeOut('normal', function () {
                var $table = $('#tbl_espositori');
                $table.fadeIn();
                if (!tag.table) {
                    tag.table = $table.DataTable({
                        "language": {
                            url: '/assets/datatables_it.json'
                        },
                        "columns": [
                            {
                                data: "logo",
                                responsivePriority: 2,
                                render: function (data, type, row) {
                                    var src = null;
                                    if (Array.isArray(data) && data.length > 0) {
                                        src = data[0].url;
                                    } else {
                                        src = "https://www.b2cheese.it/wp-content/uploads/2019/01/logoB-e1547648433477.png";
                                    }
                                    return '<div class="bg-logo" style="background-image: url(' + src + ')"></div>';
                                },
                                searchable: false,
                                orderable: false
                            },
                            {
                                data: "ragioneSociale",
                                render: function (data, type, row) {
                                    var ragsoc = data.get('ragioneSociale') ? data.get('ragioneSociale') : "";
                                    var html = "<a href='/espositori/" + data.id + "'>" + ragsoc.toUpperCase() + "</a>";
                                    return html;
                                },
                                responsivePriority: 1
                            },
                            {
                                data: "citta",
                                responsivePriority: 2
                            },
                            {
                                data: "stato",
                                responsivePriority: 2
                            },
                            {
                                data: "categorie",
                                render: function (data, type, row) {
                                    var p = "";
                                    if (Array.isArray(data) && data.length > 0) {
                                        var cats = [];
                                        for (var i = 0; i < data.length; i++) {
                                            var c = data[i];
                                            switch (c) {
                                                case C_PRODUTTORE:
                                                    cats.push("Produttore");
                                                    break;
                                                case C_DISTRIBUTORE:
                                                    cats.push("Grossita/Distributiore");
                                                    break;
                                                case C_BROKER:
                                                    cats.push(">Broker");
                                                    break;
                                                case C_SERVIZI:
                                                    cats.push("Servizi");
                                                    break;
                                                case C_FOODTECH:
                                                    cats.push("Food Tech");
                                                    break;
                                            }
                                            p = cats.join("<br />");
                                        }
                                    }
                                    return p;
                                },
                                responsivePriority: 1
                            },
                            {
                                data: "categorieSearch",
                                render: function (data, type, row) {
                                    var p = "";
                                    if (Array.isArray(data) && data.length > 0) {
                                        p = data.join(" ");
                                    }
                                    return p;
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "nomeProdotto",
                                render: function (data, type, row) {
                                    var p = "";
                                    var prodottiArray = [];
                                    if (Array.isArray(data) && data.length > 0) {
                                        for (var i = 0; i < data.length; i++) {
                                            prodottiArray.push(data[i].nome);
                                        }
                                        p = prodottiArray.join("<br />");
                                    }
                                    return p;
                                },
                                searchable: true,
                                visible: true
                            },
                            {
                                data: "latte",
                                render: function (data, type, row) {
                                    var p = "";
                                    if (Array.isArray(data) && data.length > 0) {
                                        for (var i = 0; i < data.length; i++) {
                                            p += data[i].latte.toLowerCase() + " ";
                                        }
                                    }
                                    return p;
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "biologico",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "biologico");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "dop",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "dop");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "iso22000",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "iso22000");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "fsc22000",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "fsc22000");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "fsc22000",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "fsc22000");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "brciop",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "brciop");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "unien15593",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "unien15593");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "iso22000p",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "unien15593");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "halal",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "halal");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "kosher",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "kosher");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "qveg",
                                render: function (data, type, row) {
                                    return renderBoolean(data, type, row, "qveg");
                                },
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "scaglioneFatturatoAnnuo",
                                searchable: true,
                                visible: false
                            },
                            {
                                data: "scaglioneFatturatoItalia",
                                searchable: true,
                                visible: false
                            }
                        ],
                        "rowId": "id",
                        "order": [[1, "asc"]],
                        "responsive": true,
                        "select": {
                            "style": "single"
                        },
                        "lengthChange": false
                    });
                    tag.table.on('select', function (e, dt, type, indexes) {
                        if (type === 'row') {
                            var data = tag.table.rows(indexes).data().pluck('id');
                            tag.routeTo("/espositori/" + data[0]);
                        }
                    });
                } else {
                    tag.table.clear();
                }
                tag.expoRows = results;
                tag.update();
                for (var i = 0; i < results.length; i++) {
                    var o = results[i];
                    if (o.get('ragioneSociale')) {
                        tag.table.row.add({
                            "id": o.id,
                            "logo": o.get('logo'),
                            "ragioneSociale": o,
                            "citta": o.get('citta'),
                            "stato": o.get('stato'),
                            "categorie": o.get('categorie'),
                            "categorieSearch": o.get('categorie'),
                            "nomeProdotto": o.get('prodotti'),
                            "latte": o.get('prodotti'),
                            "biologico": o.get('prodotti'),
                            "dop": o.get('prodotti'),
                            "iso22000": o.get('prodotti'),
                            "fsc22000": o.get('prodotti'),
                            "brciop": o.get('prodotti'),
                            "unien15593": o.get('prodotti'),
                            "iso22000p": o.get('prodotti'),
                            "halal": o.get('prodotti'),
                            "kosher": o.get('prodotti'),
                            "qveg": o.get('prodotti'),
                            "scaglioneFatturatoAnnuo": o.get('scaglioneFatturatoAnnuo') ? o.get('scaglioneFatturatoAnnuo') : '',
                            "scaglioneFatturatoItalia": o.get('scaglioneFatturatoItalia') ? o.get('scaglioneFatturatoItalia') : ''
                        });
                    }
                }
                tag.table.draw();
            });
        };

        function renderBoolean(data, type, row, attr) {
            var p = false;
            if (Array.isArray(data) && data.length > 0) {
                for (var i = 0; i < data.length; i++) {
                    if (data[i][attr]) {
                        p = true;
                        break;
                    }
                }
            }
            return p;
        }

        tag.filterTable = function () {
            // categorie
            var filter_categorie_string = tag.filter_categorie.join("|");
            var cCategorie = tag.table.columns(5);
            cCategorie.search(filter_categorie_string, true, false);
            // prodotti
            var filter_prodotti_string = tag.filter_prodotti.join("|");
            var cProdotti = tag.table.columns(6);
            cProdotti.search(filter_prodotti_string, true, false);
            // latte
            var filter_latte_string = tag.filter_latte.join("|");
            var cLatte = tag.table.columns(7);
            cLatte.search(filter_latte_string, true, false);
            // fatturato annuo
            var cFtAnnuo = tag.table.columns(19);
            cFtAnnuo.search(tag.filter_scaglioneFatturatoAnnuo, true, false);
            // fatturato Italia
            var cFtItalia = tag.table.columns(20);
            cFtItalia.search(tag.filter_scaglioneFatturatoItalia, true, false);
            // bio
            var bio = tag.filter_biologico;
            var cBio = tag.table.columns(8);
            if (bio) {
                cBio.search(tag.filter_biologico.toString(), true, false);
            } else {
                cBio.search("", true, false);
            }
            // dop
            var dop = tag.filter_dop;
            var cDop = tag.table.columns(9);
            if (dop) {
                cDop.search(tag.filter_dop.toString(), true, false);
            } else {
                cDop.search("", true, false);
            }
            // iso22000
            var iso22000 = tag.filter_iso22000;
            var cIso22000 = tag.table.columns(10);
            if (iso22000) {
                cIso22000.search(tag.filter_iso22000.toString(), true, false);
            } else {
                cIso22000.search("", true, false);
            }
            // fsc22000
            var fsc22000 = tag.filter_fsc22000;
            var cFsc22000 = tag.table.columns(11);
            if (fsc22000) {
                cFsc22000.search(tag.filter_fsc22000.toString(), true, false);
            } else {
                cFsc22000.search("", true, false);
            }
            // brciop
            var brciop = tag.filter_brciop;
            var cBrciop = tag.table.columns(12);
            if (brciop) {
                cBrciop.search(tag.filter_brciop.toString(), true, false);
            } else {
                cBrciop.search("", true, false);
            }
            // unien15593
            var unien15593 = tag.filter_unien15593;
            var cUnien15593 = tag.table.columns(13);
            if (unien15593) {
                cUnien15593.search(tag.filter_unien15593.toString(), true, false);
            } else {
                cUnien15593.search("", true, false);
            }
            // iso22000p
            var iso22000p = tag.filter_iso22000p;
            var cIso22000p = tag.table.columns(14);
            if (iso22000p) {
                cIso22000p.search(tag.filter_iso22000p.toString(), true, false);
            } else {
                cIso22000p.search("", true, false);
            }
            // halal
            var halal = tag.filter_halal;
            var cHalal = tag.table.columns(15);
            if (halal) {
                cHalal.search(tag.filter_halal.toString(), true, false);
            } else {
                cHalal.search("", true, false);
            }
            // kosher
            var kosher = tag.filter_kosher;
            var cKosher = tag.table.columns(16);
            if (kosher) {
                cKosher.search(tag.filter_kosher.toString(), true, false);
            } else {
                cKosher.search("", true, false);
            }
            // qveg
            var qveg = tag.filter_qveg;
            var cQveg = tag.table.columns(17);
            if (qveg) {
                cQveg.search(tag.filter_qveg.toString(), true, false);
            } else {
                cQveg.search("", true, false);
            }
            tag.table.draw();
        };

    </script>
</espositori>
