HEX
Server: LiteSpeed
System: Linux my-kul-web2054.main-hosting.eu 5.14.0-611.13.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 11 04:57:59 EST 2025 x86_64
User: u665686179 (665686179)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: /home/u665686179/domains/dealkr.com/public_html/public/assets/new/back-end/js/admin/dashboard.js
"use strict";

let isMonthEarnCheckedForOrderStatistics = false;
let labelCountForOrderStatistics = 0;
let isMonthCheckedForEarningStatistic = false;
let labelCountForEarnStatistics = 0;
let currencySymbol = $("#get-currency-symbol").data("currency-symbol");

function setMonthEarnResponsiveDataForOrderStatistics() {
    $('.order-statistics-option input:radio[name="statistics4"]').change(
        function () {
            isMonthEarnCheckedForOrderStatistics = $(
                'input:radio[name="statistics4"][value="MonthEarn"]'
            ).is(":checked");
        }
    );
}
setMonthEarnResponsiveDataForOrderStatistics();


function orderStatistics() {
    $(".order-statistics").on("click", function () {
        let value = $(this).attr("data-date-type");
        let url = $("#order-statistics").data("action");
        $.ajax({
            url: url,
            type: "GET",
            data: {
                type: value,
            },
            beforeSend: function () {
                $("#loading").fadeIn();
            },
            success: function (data) {
                $("#order-statistics-div").empty().html(data.view);
                setMonthEarnResponsiveDataForOrderStatistics();
                labelCountForOrderStatistics = parseInt(
                    $("input[name=order_statistics_label_count]").val()
                );
                orderStatisticsApexChart();
                orderStatistics();
            },
            complete: function () {
                $("#loading").fadeOut();
            },
        });
    });
}

orderStatistics();

function setMonthResponsiveDataForEarningStatistic() {
    $('.earn-statistics-option input:radio[name="statistics"]').change(
        function () {
            isMonthCheckedForEarningStatistic = $(
                'input:radio[name="statistics"][value="MonthEarn"]'
            ).is(":checked");
        }
    );
}

setMonthResponsiveDataForEarningStatistic();

// Example usage
const getWindowSize = () => {
    return {
      width: window.innerWidth,
      height: window.innerHeight,
    };
};

let windowSize = getWindowSize();

function orderStatisticsApexChart() {
    let orderStatisticsData = $("#order-statistics-data");
    const inHouseOrderEarn = orderStatisticsData.data("inhouse-order-earn");
    const vendorOrderEarn = orderStatisticsData.data("vendor-order-earn");
    let label = orderStatisticsData.data("label");
    if (windowSize.width < 767) {
        label = getLabelData(
            label,
            labelCountForOrderStatistics,
            isMonthEarnCheckedForOrderStatistics
        );
    }
    var options = {
        series: [
            {
                name: orderStatisticsData.data("inhouse-text"),
                data: Object.values(inHouseOrderEarn),
            },
            {
                name: orderStatisticsData.data("vendor-text"),
                data: Object.values(vendorOrderEarn),
            },
        ],
        chart: {
            height: 386,
            type: "line",
            dropShadow: {
                enabled: true,
                color: "#000",
                top: 18,
                left: 7,
                blur: 10,
                opacity: 0.2,
            },
            toolbar: {
                show: false,
            },
        },
        yaxis: {
            labels: {
                offsetX: 0,
                formatter: function (value) {
                    return currencySymbol + value;
                },
            },
        },
        colors: ["#4FA7FF", "#82C662"],
        dataLabels: {
            enabled: false,
        },
        stroke: {
            curve: "smooth",
        },
        grid: {
            xaxis: {
                lines: {
                    show: true,
                },
            },
            yaxis: {
                lines: {
                    show: true,
                },
            },
            borderColor: "#CAD2FF",
            strokeDashArray: 5,
        },
        markers: {
            size: 1,
        },
        theme: {
            mode: "light",
        },
        xaxis: {
            categories: Object.values(label),
        },
        legend: {
            position: "top",
            horizontalAlign: "center",
            floating: false,
            offsetY: -10,
            offsetX: 0,
            itemMargin: {
                horizontal: 10,
                vertical: 10,
            },
        },
        padding: {
            top: 0,
            right: 0,
            bottom: 200,
            left: 10,
        },
    };
    var chart = new ApexCharts(
        document.getElementById("apex-line-chart"),
        options
    );
    chart.render();
}
orderStatisticsApexChart();
function UserOverViewChart() {
    const userOverViewData = $("#user-overview-data");
    var options = {
        series: [
            userOverViewData.data("customer"),
            userOverViewData.data("vendor"),
            userOverViewData.data("delivery-man"),
        ],
        labels: [
            userOverViewData.data("customer-title"),
            userOverViewData.data("vendor-title"),
            userOverViewData.data("delivery-man-title"),
        ],
        chart: {
            width: 320,
            type: "donut",
        },
        dataLabels: {
            enabled: false,
        },
        colors: ["#7bc4ff", "#f9b530", "#1c1a93"],
        responsive: [
            {
                breakpoint: 480,
                options: {
                    chart: {
                        width: 200,
                    },
                },
            },
        ],
        legend: {
            show: false,
        },
    };
    var chart = new ApexCharts(document.querySelector("#chart"), options);
    chart.render();
}
UserOverViewChart();
function earningStatistics() {
    $(".earn-statistics").on("click", function () {
        let value = $(this).attr("data-date-type");
        let url = $("#earn-statistics").data("action");
        $.ajax({
            url: url,
            type: "GET",
            data: {
                type: value,
            },
            beforeSend: function () {
                $("#loading").fadeIn();
            },
            success: function (data) {
                $("#earn-statistics-div").empty().html(data.view);
                setMonthResponsiveDataForEarningStatistic();
                labelCountForEarnStatistics = parseInt(
                    $("input[name=earn_statistics_label_count]").val()
                );
                earningStatisticsApexChart();
                earningStatistics();
            },
            complete: function () {
                $("#loading").fadeOut();
            },
        });
    });
}
earningStatistics();

$("#statistics_type").on("change", function () {
    let type = $(this).val();
    let url = $("#order-status-url").data("url");
    $.ajaxSetup({
        headers: {
            "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
        },
    });
    $.post({
        url: url,
        data: {
            statistics_type: type,
        },
        beforeSend: function () {
            $("#loading").fadeIn();
        },
        success: function (data) {
            $("#order_stats").html(data.view);
        },
        complete: function () {
            $("#loading").fadeOut();
        },
    });
});

$("#withdraw_method").on("change", function () {
    withdraw_method_field(this.value);
});

try {
    var ctx = document.getElementById("business-overview");
    var myChart = new Chart(ctx, {
        type: "doughnut",
        data: {
            labels: [
                '$("#customer-text").data("text") ',
                '$("#store-text").data("text") ',
                '$("#product-text").data("text") ',
                '$("#order-text").data("text") ',
                '$("#brand-text").data("text") ',
            ],
            datasets: [
                {
                    label: '$("#business-text").data("text")',
                    data: [
                        '$("#customers-text").data("text")',
                        '$("#products-text").data("text")',
                        '$("#orders-text").data("text")',
                        '$("#brands-text").data("text")',
                    ],
                    backgroundColor: [
                        "#041562",
                        "#DA1212",
                        "#EEEEEE",
                        "#11468F",
                        "#000000",
                    ],
                    hoverOffset: 4,
                },
            ],
        },
        options: {
            scales: {
                y: {
                    beginAtZero: true,
                },
            },
        },
    });
} catch (e) {}

function earningStatisticsApexChart() {
    let earnStatisticsData = $("#earn-statistics-data");
    const inHouseEarn = earnStatisticsData.data("inhouse-earn");
    const vendorEarn = earnStatisticsData.data("vendor-earn");
    const commissionEarn = earnStatisticsData.data("commission-earn");
    let label = earnStatisticsData.data("label");
    if (windowSize.width < 767) {
        label = getLabelData(
            label,
            labelCountForEarnStatistics,
            isMonthCheckedForEarningStatistic
        );
    }
    var options = {
        series: [
            {
                name: earnStatisticsData.data("inhouse-text"),
                data: Object.values(inHouseEarn),
            },
            {
                name: earnStatisticsData.data("vendor-text"),
                data: Object.values(vendorEarn),
            },
            {
                name: earnStatisticsData.data("commission-text"),
                data: Object.values(commissionEarn),
            },
        ],
        chart: {
            height: 386,
            type: "line",
            dropShadow: {
                enabled: true,
                color: "#000",
                top: 18,
                left: 7,
                blur: 10,
                opacity: 0.2,
            },
            toolbar: {
                show: false,
            },
        },
        yaxis: {
            labels: {
                offsetX: 0,
                formatter: function (value) {
                    return currencySymbol + value;
                },
            },
        },
        colors: ["#4FA7FF", "#82C662", "#c1c662"],
        dataLabels: {
            enabled: false,
        },
        stroke: {
            curve: "smooth",
        },
        grid: {
            xaxis: {
                lines: {
                    show: true,
                },
            },
            yaxis: {
                lines: {
                    show: true,
                },
            },
            borderColor: "#CAD2FF",
            strokeDashArray: 5,
        },
        markers: {
            size: 1,
        },
        theme: {
            mode: "light",
        },
        xaxis: {
            categories: Object.values(label),
        },
        legend: {
            position: "top",
            horizontalAlign: "center",
            floating: false,
            offsetY: -10,
            offsetX: 0,
            itemMargin: {
                horizontal: 10,
                vertical: 10,
            },
        },
        padding: {
            top: 0,
            right: 0,
            bottom: 200,
            left: 10,
        },
    };
    var chart = new ApexCharts(
        document.getElementById("earning-apex-line-chart"),
        options
    );
    chart.render();
}
earningStatisticsApexChart();

function getLabelData(label, count, status) {
    let mod = count % 5;
    if (status === true) {
        label.forEach((val, index) => {
            if (val % 5 === 0 || val === count) {
                label[index] =
                    val !== count && mod <= 1 && count - mod === val ? "" : val;
            } else {
                label[index] = "";
            }
        });
    } else {
        label.forEach((val, index) => {
            label[index] = val.substring(0, 3);
        });
    }
    return label;
}