"use strict";

$("[data-checkboxes]").each(function () {
    var me = $(this),
        group = me.data("checkboxes"),
        role = me.data("checkbox-role");

    me.change(function () {
        var all = $(
                '[data-checkboxes="' +
                    group +
                    '"]:not([data-checkbox-role="dad"])'
            ),
            checked = $(
                '[data-checkboxes="' +
                    group +
                    '"]:not([data-checkbox-role="dad"]):checked'
            ),
            dad = $(
                '[data-checkboxes="' + group + '"][data-checkbox-role="dad"]'
            ),
            total = all.length,
            checked_length = checked.length;

        if (role == "dad") {
            if (me.is(":checked")) {
                all.prop("checked", true);
            } else {
                all.prop("checked", false);
            }
        } else {
            if (checked_length >= total) {
                dad.prop("checked", true);
            } else {
                dad.prop("checked", false);
            }
        }
    });
});

// User
$("#table-1").dataTable({
    columnDefs: [{ sortable: false, targets: [2, 7] }],
    searchable: true,
});

// Refund, Setting, Transaction
$("#table-2").dataTable({
    ordering: true,
    searchable: true,
});

// Transaksi pembeli
$("#table-3").dataTable({
    columnDefs: [{ sortable: false, targets: [6] }],
    searchable: true,
});