﻿AddToInit(init_news_pageLoad);
function init_news_pageLoad() {
    list = new Ribo.Cms.JS.EntityUI("News");

    list._filterContainer = $get('news_filter'); //div contenete i filtri
    list._displayContainer = $get('news_grid'); //div per la griglia dei risultati
    list._commandContainer = $get('news_commandContainer'); //div contenente i comandi

    list._filterFunction = filterFunction; //funzione per restituire il filtro nel formato Json
    list._progressElement = $get('news_progress'); // elemento per il progress
    list.initialize(ribo.cms.ws.inewsws, list);  // inizializza il controllo passando il WebService di riferimento con le funzioni e l'istanza dell'oggetto
    list.Refresh(0); //aggiorno 
}
function filterFunction(_filters, rowIndex) {
    var value; var toAdd;
    var _json = '{';
    for (var i = 0; i < _filters.length; i++) {
        obj = _filters[i];
        switch (obj.getAttribute('_filterName').toLowerCase()) {
            case 'contentcategoryuid': value = ((obj.value == '') ? null : obj.value); break
            case 'title': value = '%' + obj.value + '%'; break
            case 'newstype': value = ((obj.value == '') ? null : obj.value); break
            default: value = obj.value
        }
        if (value != null) {
            _json = _json + '"' + obj.getAttribute('_filterName') + '":"' + value + '",'
        }
    }
    _json = _json + '"MaxRowsNumber":"20",';
    _json = _json + '"StartIndexRow":"' + ((rowIndex == null) ? 0 : rowIndex) + '",';
    _json = _json.substring(0, _json.length - 1) + '}';
    return _json;
}
