HOME


Mini Shell 1.0
DIR: /home/cardxfeb/www/resources/assets/js/sadmin/plans/
Upload File :
Current File : //home/cardxfeb/www/resources/assets/js/sadmin/plans/plans.js
document.addEventListener("turbo:load", function () {
    if ($("#customField").is(":checked")) {
        $('input[name="price"]').val(0).prop("disabled", true);
        $('input[name="no_of_vcards"]').val(0).prop("disabled", true);
    } else {
        $('input[name="price"]').prop("disabled", false);
        $('input[name="no_of_vcards"]').prop("disabled", false);
    }
});

listenClick("#planStatus", function () {
    let planId = $(this).data("id");
    let updateUrl = route("plan.status", planId);
    $.ajax({
        type: "get",
        url: updateUrl,
        success: function (response) {
            displaySuccessMessage(response.message);
            $("#userTable").DataTable().ajax.reload();
        },
    });
});

listen("click", ".plan-delete-btn", function (event) {
    let deletePlanId = $(event.currentTarget).data("id");
    let url = route("plans.destroy", { plan: deletePlanId });
    deleteItem(url, Lang.get("js.plan"));
});

listenChange(".is_default", function (event) {
    let subscriptionPlanId = $(event.currentTarget).data("id");
    $.ajax({
        url: route("make.plan.default", subscriptionPlanId),
        method: "post",
        cache: false,
        success: function (result) {
            if (result.success) {
                displaySuccessMessage(result.message);
                Livewire.dispatch("refresh");
            }
        },
        error: function (error) {
            displayErrorMessage(error.responseJSON.message);
            $(event.currentTarget).prop("checked", false);
            Livewire.dispatch("refresh");
        },
    });
});

listenChange(".plan-status", function (event) {
    let subscriptionPlanId = $(event.currentTarget).data("id");
    $.ajax({
        url: route("plan-status", subscriptionPlanId),
        method: "post",
        cache: false,
        success: function (result) {
            if (result.success) {
                displaySuccessMessage(result.message);
                Livewire.dispatch("refresh");
            }
        },
    });
});

listenKeyup(".price-format-input", function (e) {
    if (e.keyCode <= 95 && e.keyCode >= 106) {
        if (
            (e.which != 46 || $(this).val().indexOf(".") != -1) &&
            (e.which < 48 || e.which > 57)
        ) {
            e.preventDefault();
            let str2 = $(this).val().slice(0, -1) + "";
            return $(this).val(str2);
        }
    }

    let k = e.which ? e.which : e.keyCode;
    if (k <= 95 && k >= 106) {
        if ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32) {
            let str1 = $(this).val();
            let str2 = str1.slice(0, -1) + "";
            return $(this).val(str2);
        }
    }
    let num = $(this).val().match(/\./g)?.length || 0;
    if (num == 2) {
        let str2 = $(this).val().slice(0, -1) + "";
        return $(this).val(str2);
    }

    let val = this.value;
    val = val.replace(/,/g, "");
    if (num == 0) {
        if (val.length > 3) {
            let noCommas = Math.ceil(val.length / 3) - 1;
            let remain = val.length - noCommas * 3;
            let newVal = [];
            for (let i = 0; i < noCommas; i++) {
                newVal.unshift(val.substr(val.length - i * 3 - 3, 3));
            }
            newVal.unshift(val.substr(0, remain));
            let formattedVal = newVal.join(",");
            this.value = formattedVal.replace(/,/g, "");
        } else {
            this.value = val;
        }
    }
});

listenClick("#customField", function () {
    if ($(this).is(":checked")) {
        $("#customFieldsSection").show();
        $("#addFieldsButton").show();
        $('input[name="price"]').val(0).prop("disabled", true);
        $('input[name="no_of_vcards"]').val(0).prop("disabled", true);
    } else {
        $("#customFieldsSection").hide();
        $("#addFieldsButton").hide();
        $('input[name="price"]').prop("disabled", false);
        $('input[name="no_of_vcards"]').prop("disabled", false);
    }
});

listenClick("#addFieldsButton", function () {
    var newFields = `
             <div class="col-lg-6 col-md-2 col-5 mt-7">
                 <label class="form-label required"> ${Lang.get(
        "js.custom_vcard_number"
    )}:</label>
                 <input type="number" name="custom_vcard_number[]" class="form-control" required placeholder="${Lang.get(
        "js.custom_vcard_number"
    )}">
             </div>
             <div class="col-lg-5 col-md-2 col-5 mt-7">
                 <label class="form-label required"> ${Lang.get(
        "js.custom_vcard_price"
    )}: </label>
                 <input type="number" name="custom_vcard_price[]" class="form-control" required placeholder="${Lang.get(
        "js.custom_vcard_price"
    )}">
             </div>
             <div class="col-lg-1 col-md-2 col-1 mb-2 trash">
             <a href="javascript:void(0)"><i class="fas fa-trash text-danger fs-2"></i></a>
             </div>
             `;
    $("#fieldsContainer").prepend(newFields);
});

listenClick(".trash", function () {
    $(this).prev().prev().remove();
    $(this).prev().remove();
    $(this).remove();
});