import ngModule from '../module';
import Section from 'salix/components/section';
import './style.scss';

export default class Controller extends Section {
    constructor($element, $) {
        super($element, $);

        this.entry = {
            companyFk: this.vnConfig.companyFk
        };

        if (this.$params && this.$params.supplierFk)
            this.entry.supplierFk = parseInt(this.$params.supplierFk);
        if (this.$params && this.$params.travelFk)
            this.entry.travelFk = parseInt(this.$params.travelFk);
        if (this.$params && this.$params.companyFk)
            this.entry.companyFk = parseInt(this.$params.companyFk);
    }

    onSubmit() {
        this.$.watcher.submit().then(
            res => this.$state.go('entry.card.basicData', {id: res.data.id})
        );
    }

    searchFunction($search) {
        return {or: [
            {'agencyModeName': {like: `%${$search}%`}},
            {'warehouseInName': {like: `%${$search}%`}},
            {'warehouseOutName': {like: `%${$search}%`}},
            {'shipped': new Date($search)},
            {'landed': new Date($search)}
        ]};
    }
}

Controller.$inject = ['$element', '$scope'];

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