salix/modules/client/front/consumption-search-panel/index.js

57 lines
1.3 KiB
JavaScript

import ngModule from '../module';
import SearchPanel from 'core/components/searchbar/search-panel';
class Controller extends SearchPanel {
constructor($, $element) {
super($, $element);
this.filter = this.$.filter;
if (!this.dateParams)
this.getUpcomingCampaing();
}
get dateParams() {
if (this.$params.q) {
const params = JSON.parse(this.$params.q);
if (params.from || params.to)
return true;
}
return false;
}
getUpcomingCampaing() {
this.$http.get('Campaigns/upcoming').then(res => {
this.filter.campaign = res.data.id;
});
}
onChangeDate(value) {
if (value)
this.filter.campaign = null;
}
get campaignSelection() {
return this._campaignSelection;
}
set campaignSelection(value) {
this._campaignSelection = value;
if (value) {
const from = new Date(value.dated);
from.setDate(from.getDate() - value.scopeDays);
this.filter.to = value.dated;
this.filter.from = from;
}
}
}
ngModule.vnComponent('vnConsumptionSearchPanel', {
template: require('./index.html'),
controller: Controller
});