integration/js/common.js
author Anthony Ly <anthonyly.com@gmail.com>
Fri, 24 May 2013 17:23:35 +0200
changeset 36 4c2428524c22
parent 21 abd04f346dbe
child 42 95e64fb6730f
permissions -rw-r--r--
annotation display view
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     1
$(function(){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     2
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     3
    $.fn.hasAttr = function(name) {  
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     4
       return this.attr(name) !== undefined;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     5
    };
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     6
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     7
//open modal
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     8
    $(document).on('click', 'a.open-modal', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     9
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    10
        var modalRemote = $(this).attr('href'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    11
            typeMedia = $(this).attr('data-type-media'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    12
            modalTitleInfo = $(this).attr('data-title'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    13
            hideBibliotheque = $(this).hasAttr('data-hide-bibliotheque') ? true : false,
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    14
            titleFront;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    15
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    16
        switch(typeMedia){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    17
            case 'video' : titleFront = '<i class="icon-film"></i> Vidéo - '+modalTitleInfo; break;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    18
            case 'image' : titleFront = '<i class="icon-picture"></i> Image - '+modalTitleInfo; break;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    19
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    20
        $('#modal-template .modal-header h3').html(titleFront);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    21
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    22
        $("#modal-template .modal-body").load(modalRemote, function() { 
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    23
            $("#modal-template").modal("show"); 
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    24
            if(hideBibliotheque)
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    25
                $("#modal-template").find(".bibliotheque-link").hide();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    26
        });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    27
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    28
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    29
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    30
    $('.popup').on('click', '.popup-content a', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    31
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    32
        if($(this).hasClass('btn-cancel')){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    33
            $(this).parents('.popup').modal('hide');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    34
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    35
        if($(this).hasClass('btn-previsualisation')){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    36
            var imgPrev = $('<img src="img/520x520.gif" alt="" />');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    37
            $('.previsualisation').empty().append(imgPrev);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    38
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    39
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    40
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    41
//confirmation suppression
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    42
    $(document).on('click','.btn-delete', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    43
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    44
        var titleMedia = $(this).attr('data-title'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    45
            textModal = $('<p>Êtes-vous sûr de vouloir supprimer <strong>'+titleMedia+'</strong> ?</p>'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    46
            eltDelete = $(this).attr('href');
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    47
        $("#modal-confirm #btn-delete-modal").attr('data-id-elt-delete', eltDelete).focus();
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    48
        $("#modal-confirm .modal-body").empty().append(textModal); 
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    49
        $("#modal-confirm").modal('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    50
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    51
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    52
    $("#modal-confirm").on('shown', function() {
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    53
        $("#modal-confirm #btn-delete-modal").focus()
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    54
    });
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    55
    
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    56
    $("#modal-confirm").on('click', '#btn-delete-modal', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    57
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    58
        var idEltDelete = $(this).attr('data-id-elt-delete');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    59
        $(idEltDelete).remove();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    60
        $("#modal-confirm").modal('hide');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    61
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    62
    
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    63
});