/* =======================================
SALES LAST DAYS LIST TABLES
======================================= */
import EnhancedSelect from '../_enhanced-select';
import Globals from './_globals';
import Router from './_router';
export default class SalesLastDays {
constructor(
private globals: Globals,
private router: Router,
private enhancedSelect: EnhancedSelect
) {
this.setup();
this.globals.$atumList.on('atum-table-updated', () => this.setup());
}
setup() {
let $selectDays: any = $('#sales_last_ndays_val'),
selectDaysText: string = $selectDays.text(),
days: number[] = Array.apply(null, {length: 31}).map(Number.call, Number), // [0, 1, 2, 3 ... 30]
$selectableDays: JQuery = $('');
days.shift();
for (let i in days) {
$selectableDays.append( $('').html( days[i].toString() ) );
}
$selectDays.html('' + selectDaysText + '');
$selectDays.append($selectableDays);
$selectDays.find('select').hide().val(selectDaysText);
$selectableDays.change( (evt: JQueryEventObject) => {
let $select: JQuery = $(evt.currentTarget);
$selectDays.find('.textvalue').text($select.val());
$select.hide();
$selectDays.find('.select2').hide();
$selectDays.find('.textvalue').show();
$.address.parameter('sold_last_days', parseInt($select.val()));
this.router.updateHash();
});
$selectDays.find('.textvalue').click( (evt: JQueryEventObject) => {
$(evt.currentTarget).hide();
this.enhancedSelect.doSelect2( $selectDays.find('select') );
});
}
}