Luc Didry 8b68d7
function invertSelection(e) {
Luc Didry 8b68d7
    e.preventDefault();
Luc Didry 8b68d7
    $('#myInvitations input[type="checkbox"]').each(function () {
Luc Didry 8b68d7
        var el = $(this);
Luc Didry 8b68d7
        var tr = el.parent().parent();
Luc Didry 8b68d7
        if (!tr.hasClass('hide')) {
Luc Didry 8b68d7
            el.click();
Luc Didry 8b68d7
        }
Luc Didry 8b68d7
    })
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function toggleHidden(e) {
Luc Didry 8b68d7
    e.preventDefault();
Luc Didry 8b68d7
    if ($('#myInvitations').attr('data-visibility') === 'hidden') {
Luc Didry 8b68d7
        $('#toggleHidden').text(i18n.hideText);
Luc Didry 8b68d7
        $('tr[data-visibility="0"]').removeClass('hide');
Luc Didry 8b68d7
        $('#myInvitations').attr('data-visibility', 'shown');
Luc Didry 8b68d7
    } else {
Luc Didry 8b68d7
        $('#toggleHidden').text(i18n.showText);
Luc Didry 8b68d7
        $('tr[data-visibility="0"]').addClass('hide');
Luc Didry 8b68d7
        $('tr[data-visibility="0"] input[type="checkbox"]').each(function() {
Luc Didry 8b68d7
            var el = $(this);
Luc Didry 8b68d7
            if (el.attr('data-checked') === 'data-checked') {
Luc Didry 8b68d7
                $('tr[data-visibility="0"] input[type="checkbox"]').click();
Luc Didry 8b68d7
            }
Luc Didry 8b68d7
        });
Luc Didry 8b68d7
        $('#myInvitations').attr('data-visibility', 'hidden');
Luc Didry 8b68d7
    }
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function deleteInvit(e) {
Luc Didry 8b68d7
    e.preventDefault();
Luc Didry 8b68d7
    if (confirm(i18n.confirmDeleteInvit)) {
Luc Didry 8b68d7
        var tokens = selectChecked();
Luc Didry 8b68d7
        $.ajax({
Luc Didry 8b68d7
            url: deleteURL,
Luc Didry 8b68d7
            method: 'POST',
Luc Didry 8b68d7
            data: {
Luc Didry 8b68d7
                tokens: tokens
Luc Didry 8b68d7
            },
Luc Didry 8b68d7
            success: function(data, textStatus, jqXHR) {
Luc Didry 8b68d7
                if (data.success) {
Luc Didry 8b68d7
                    data.tokens.forEach(function(t) {
Luc Didry 8b68d7
                        Materialize.toast(t.msg, 6000, 'teal accent-3');
Luc Didry 8b68d7
                        $('#row-' + t.token).remove();
Luc Didry 8b68d7
                    });
Luc Didry ff9b32
                    data.failures.forEach(function(msg) {
Luc Didry ff9b32
                        Materialize.toast(msg, 10000, 'red accent-2');
Luc Didry ff9b32
                    });
Luc Didry 8b68d7
                    disableButtons();
Luc Didry 8b68d7
                } else {
Luc Didry ff9b32
                    data.failures.forEach(function(msg) {
Luc Didry ff9b32
                        Materialize.toast(msg, 10000, 'red accent-2');
Luc Didry ff9b32
                    });
Luc Didry ff9b32
                    if (data.msg) {
Luc Didry ff9b32
                        Materialize.toast(data.msg, 10000, 'red accent-2');
Luc Didry ff9b32
                    }
Luc Didry 8b68d7
                }
Luc Didry 8b68d7
            }
Luc Didry 8b68d7
        });
Luc Didry 8b68d7
    }
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function resendMail(e) {
Luc Didry 8b68d7
    e.preventDefault();
Luc Didry 8b68d7
    if (confirm(i18n.confirmResendMail)) {
Luc Didry 8b68d7
        var tokens = selectChecked();
Luc Didry 8b68d7
        $.ajax({
Luc Didry 8b68d7
            url: resendURL,
Luc Didry 8b68d7
            method: 'POST',
Luc Didry 8b68d7
            data: {
Luc Didry 8b68d7
                tokens: tokens
Luc Didry 8b68d7
            },
Luc Didry 8b68d7
            success: function(data, textStatus, jqXHR) {
Luc Didry 8b68d7
                data.success.forEach(function(s) {
Luc Didry 8b68d7
                    Materialize.toast(s.msg, 6000, 'teal accent-3');
Luc Didry 8b68d7
                    $('#expire-' + s.token).text(s.expires)
Luc Didry 8b68d7
                    $('#' + s.token).click();
Luc Didry 8b68d7
                });
Luc Didry 8b68d7
                data.failures.forEach(function(msg) {
Luc Didry 8b68d7
                    Materialize.toast(msg, 10000, 'red accent-2');
Luc Didry 8b68d7
                });
Luc Didry 8b68d7
            }
Luc Didry 8b68d7
        });
Luc Didry 8b68d7
    }
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function toggleVisibility(e) {
Luc Didry 8b68d7
    e.preventDefault();
Luc Didry 8b68d7
    var tokens = selectChecked();
Luc Didry 8b68d7
    $.ajax({
Luc Didry 8b68d7
        url: toggleURL,
Luc Didry 8b68d7
        method: 'POST',
Luc Didry 8b68d7
        data: {
Luc Didry 8b68d7
            tokens: tokens
Luc Didry 8b68d7
        },
Luc Didry 8b68d7
        success: function(data, textStatus, jqXHR) {
Luc Didry 8b68d7
            if (data.success) {
Luc Didry 8b68d7
                data.tokens.forEach(function(t) {
Luc Didry 8b68d7
                    var row = $('#row-' + t.token)
Luc Didry 8b68d7
                    if (t.show) {
Luc Didry 8b68d7
                        row.attr('data-visibility', 1);
Luc Didry 8b68d7
                        row.removeClass('hide');
Luc Didry 8b68d7
                        $('#row-' + t.token + ' > td:first i').remove();
Luc Didry 8b68d7
                    } else {
Luc Didry 8b68d7
                        row.attr('data-visibility', 0);
Luc Didry 8b68d7
                        if ($('#myInvitations').attr('data-visibility') === 'hidden') {
Luc Didry 8b68d7
                            row.addClass('hide');
Luc Didry 8b68d7
                        }
Luc Didry 8b68d7
                        $('#row-' + t.token + ' > td:first').append(i18n.hiddenMark);
Luc Didry 8b68d7
                    }
Luc Didry 8b68d7
                    $('#' + t.token).click();
Luc Didry 8b68d7
                });
Luc Didry 8b68d7
                disableButtons();
Luc Didry 8b68d7
            } else {
Luc Didry 8b68d7
                Materialize.toast(data.msg, 10000, 'red accent-2');
Luc Didry 8b68d7
            }
Luc Didry 8b68d7
        }
Luc Didry 8b68d7
    });
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function selectChecked() {
Luc Didry 8b68d7
    var tokens = [];
Luc Didry 8b68d7
    $('#myInvitations input[type="checkbox"][data-checked="data-checked"]').each(function() {
Luc Didry 8b68d7
        tokens.push($(this).attr('id'));
Luc Didry 8b68d7
    });
Luc Didry 8b68d7
    return tokens;
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function handleCheckboxClic() {
Luc Didry 8b68d7
    var el = $(this);
Luc Didry 8b68d7
    if (el.attr('data-checked') === 'data-checked') {
Luc Didry 8b68d7
        el.attr('data-checked', null);
Luc Didry 8b68d7
    } else {
Luc Didry 8b68d7
        el.attr('data-checked', 'data-checked');
Luc Didry 8b68d7
    }
Luc Didry 8b68d7
    if ($('#myInvitations input[type="checkbox"][data-checked="data-checked"]').length !== 0) {
Luc Didry 8b68d7
        $('#deleteInvit').removeClass('disabled');
Luc Didry 8b68d7
        $('#deleteInvit').attr('disabled', null);
Luc Didry 8b68d7
        $('#resendMail').removeClass('disabled');
Luc Didry 8b68d7
        $('#resendMail').attr('disabled', null);
Luc Didry 8b68d7
        $('#toggleVisibility').removeClass('disabled');
Luc Didry 8b68d7
        $('#toggleVisibility').attr('disabled', null);
Luc Didry 8b68d7
    } else {
Luc Didry 8b68d7
        disableButtons();
Luc Didry 8b68d7
    }
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function disableButtons() {
Luc Didry 8b68d7
    $('#deleteInvit').addClass('disabled');
Luc Didry 8b68d7
    $('#deleteInvit').attr('disabled', 'disabled');
Luc Didry 8b68d7
    $('#resendMail').addClass('disabled');
Luc Didry 8b68d7
    $('#resendMail').attr('disabled', 'disabled');
Luc Didry 8b68d7
    $('#toggleVisibility').addClass('disabled');
Luc Didry 8b68d7
    $('#toggleVisibility').attr('disabled', 'disabled');
Luc Didry 8b68d7
}
Luc Didry 8b68d7
Luc Didry 8b68d7
function fillModal() {
Luc Didry 8b68d7
    var el = $(this);
Luc Didry 8b68d7
Luc Didry 8b68d7
    $('#files-info h1').text('');
Luc Didry 8b68d7
    $('#files-ul').html('');
Luc Didry 8b68d7
Luc Didry 8b68d7
    var token = el.attr('data-token');
Luc Didry 8b68d7
    var guest = el.attr('data-guest');
Luc Didry 8b68d7
    $('#files-info h1').text(
Luc Didry 8b68d7
        i18n.listFiles.replace('XX1', token)
Luc Didry 8b68d7
                      .replace('XX2', guest)
Luc Didry 8b68d7
    );
Luc Didry 8b68d7
Luc Didry 8b68d7
    var files = JSON.parse(el.attr('data-files'));
Luc Didry 8b68d7
    var content = [];
Luc Didry 8b68d7
    for (i = 0; i < files.length; i++) {
Luc Didry 8b68d7
        var f = files[i];
Luc Didry 8b68d7
        var expires = i18n.expiration.replace('XXX',
Luc Didry 8b68d7
            moment.unix(f.delay * 86400 + f.created_at).locale(window.navigator.language).format('LLLL')
Luc Didry 8b68d7
        );
Luc Didry 8b68d7
        content.push(
Luc Didry 8b68d7
            '
  • — ',
  • Luc Didry 8b68d7
                    '',
    Luc Didry 8b68d7
                        f.name,
    Luc Didry 8b68d7
                    ' (',
    Luc Didry 8b68d7
                    filesize(f.size),
    Luc Didry 8b68d7
                    ', ',
    Luc Didry 8b68d7
                    expires,
    Luc Didry 8b68d7
                    ')',
    Luc Didry 8b68d7
                '',
    Luc Didry 8b68d7
            );
    Luc Didry 8b68d7
        }
    Luc Didry 8b68d7
        $('#files-ul').html(content.join(''));
    Luc Didry 8b68d7
    }
    Luc Didry 8b68d7
    Luc Didry 8b68d7
    $(document).ready(function(){
    Luc Didry 8b68d7
        $('.modal-trigger').leanModal();
    Luc Didry 8b68d7
        $('.modal-trigger').on('click', fillModal);
    Luc Didry 8b68d7
        $('#invertSelection').on('click', invertSelection);
    Luc Didry 8b68d7
        $('#toggleHidden').on('click', toggleHidden);
    Luc Didry 8b68d7
        $('#deleteInvit').on('click', deleteInvit);
    Luc Didry 8b68d7
        $('#resendMail').on('click', resendMail);
    Luc Didry 8b68d7
        $('#toggleVisibility').on('click', toggleVisibility);
    Luc Didry 8b68d7
        $('#myInvitations input[type="checkbox"]').on('click', handleCheckboxClic);
    Luc Didry 8b68d7
    });