close #1053 Added: Dashboard date filter
This commit is contained in:
		
							
								
								
									
										18
									
								
								resources/assets/js/plugins/functions.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								resources/assets/js/plugins/functions.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
// Get Url Paramater
 | 
			
		||||
function getQueryVariable(variable) {
 | 
			
		||||
    var query = window.location.search.substring(1);
 | 
			
		||||
 | 
			
		||||
    var vars = query.split("&");
 | 
			
		||||
 | 
			
		||||
    for (var i = 0; i < vars.length; i++) {
 | 
			
		||||
        var pair = vars[i].split("=");
 | 
			
		||||
 | 
			
		||||
        if (pair[0] == variable) {
 | 
			
		||||
            return pair[1];
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return(false);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export {getQueryVariable}
 | 
			
		||||
							
								
								
									
										47
									
								
								resources/assets/js/views/common/dashboard.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										47
									
								
								resources/assets/js/views/common/dashboard.js
									
									
									
									
										vendored
									
									
								
							@@ -9,6 +9,7 @@ require('./../../bootstrap');
 | 
			
		||||
import Vue from 'vue';
 | 
			
		||||
 | 
			
		||||
import Global from './../../mixins/global';
 | 
			
		||||
import {getQueryVariable} from './../../plugins/functions';
 | 
			
		||||
 | 
			
		||||
import AkauntingDashboard from './../../components/AkauntingDashboard';
 | 
			
		||||
import AkauntingWidget from './../../components/AkauntingWidget';
 | 
			
		||||
@@ -49,38 +50,20 @@ const dashboard = new Vue({
 | 
			
		||||
                sort: 0,
 | 
			
		||||
                widget_id: 0
 | 
			
		||||
            },
 | 
			
		||||
            pickerOptions: {
 | 
			
		||||
                shortcuts: [{
 | 
			
		||||
                text: 'Last week',
 | 
			
		||||
                onClick(picker) {
 | 
			
		||||
                    const end = new Date();
 | 
			
		||||
                    const start = new Date();
 | 
			
		||||
                    start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
 | 
			
		||||
                    picker.$emit('pick', [start, end]);
 | 
			
		||||
                }
 | 
			
		||||
                }, {
 | 
			
		||||
                text: 'Last month',
 | 
			
		||||
                onClick(picker) {
 | 
			
		||||
                    const end = new Date();
 | 
			
		||||
                    const start = new Date();
 | 
			
		||||
                    start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
 | 
			
		||||
                    picker.$emit('pick', [start, end]);
 | 
			
		||||
                }
 | 
			
		||||
                }, {
 | 
			
		||||
                text: 'Last 3 months',
 | 
			
		||||
                onClick(picker) {
 | 
			
		||||
                    const end = new Date();
 | 
			
		||||
                    const start = new Date();
 | 
			
		||||
                    start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
 | 
			
		||||
                    picker.$emit('pick', [start, end]);
 | 
			
		||||
                }
 | 
			
		||||
                }]
 | 
			
		||||
            },
 | 
			
		||||
            value2: ''
 | 
			
		||||
            filter_date: [],
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    mounted() {
 | 
			
		||||
        let start_date = getQueryVariable('start_date');
 | 
			
		||||
 | 
			
		||||
        if (start_date) {
 | 
			
		||||
            let end_date = getQueryVariable('end_date');
 | 
			
		||||
 | 
			
		||||
            this.filter_date.push(start_date);
 | 
			
		||||
            this.filter_date.push(end_date);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.getWidgets();
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
@@ -166,5 +149,13 @@ const dashboard = new Vue({
 | 
			
		||||
            this.widget.sort = 0;
 | 
			
		||||
            this.widget.widget_id = 0;
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        onChangeFilterDate() {
 | 
			
		||||
            if (this.filter_date) {
 | 
			
		||||
                window.location.href = url + '?start_date=' + this.filter_date[0] + '&end_date=' + this.filter_date[1];
 | 
			
		||||
            } else {
 | 
			
		||||
                window.location.href = url;
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user