import ngModule from '../module';
import SearchPanel from 'core/components/searchbar/search-panel';

class Controller extends SearchPanel {
    constructor($, $element) {
        super($, $element);
        this.filter = this.$.filter;

        this.getGroupedStates();
    }

    getGroupedStates() {
        let groupedStates = [];
        this.$http.get('AlertLevels').then(res => {
            for (let state of res.data) {
                groupedStates.push({
                    alertLevel: state.alertLevel,
                    code: state.code,
                    name: this.$t(state.code)
                });
            }
            this.groupedStates = groupedStates;
        });
    }

    get from() {
        return this._from;
    }

    set from(value) {
        this._from = value;
        this.filter.scopeDays = null;
    }

    get to() {
        return this._to;
    }

    set to(value) {
        this._to = value;
        this.filter.scopeDays = null;
    }

    get scopeDays() {
        return this._scopeDays;
    }

    set scopeDays(value) {
        this._scopeDays = value;

        this.filter.from = null;
        this.filter.to = null;
    }
}

ngModule.vnComponent('vnTicketSearchPanel', {
    template: require('./index.html'),
    controller: Controller
});