integration/js/edition.js
author Anthony Ly <anthonyly.com@gmail.com>
Mon, 27 May 2013 16:09:52 +0200
changeset 42 95e64fb6730f
parent 38 0e6e631718ee
child 48 827066f875c7
permissions -rw-r--r--
modal delete url
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     1
var myMedia = null,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     2
    currentChapter = null,
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
     3
    currentAnnotation = null,
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     4
    chapters = [],
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     5
    annotations = [];
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     6
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
     7
$(function(){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     8
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     9
var global = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    10
    diaporama : null,
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    11
    idAnnotation : null,
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    12
    colorsIndex : 0,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    13
    colors : 
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    14
        ['#f39c12', '#2ecc71', '#3498db', '#9b59b6',  
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    15
        '#f1c40f', '#e67e22', '#e74c3c', '#ecf0f1', 
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    16
        '#16a085', '#27ae60', '#2980b9', '#8e44ad', 
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    17
        '#f39c12', '#d35400', '#c0392b', '#bdc3c7']
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    18
};
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    19
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    20
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    21
myProject.onLoad(function() {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    22
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    23
    $(".project-title").text(myProject.title);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    24
    
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    25
    myMedia = myProject.getCurrentMedia();
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    26
    
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
    27
    //chargement des chapitres et annotations existants
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    28
    loadInitChapters();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
    29
    loadInitAnnotation()
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    30
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    31
    IriSP.htmlPlayer(
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    32
        myMedia,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    33
        $(".main-video"),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    34
        {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    35
            width: 460,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    36
            height: 345,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    37
            controls: true,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    38
            autostart: true
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    39
        }
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    40
    );
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    41
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    42
    myMedia.on("timeupdate", function(t) {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    43
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    44
        //curseur chapitre
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    45
        var wContainer = $('.chapitre-cut-wrap').width() - 1,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    46
            pos = wContainer * t / myMedia.duration,
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    47
            btnCutChapter = $('.btn-cut-chapter'),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    48
            wBtnCutChapter = btnCutChapter.outerWidth();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
    49
        
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
    50
        $(".indicateur-chapter, .indicateur-annotation").css("left",pos);
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    51
        if(pos+wBtnCutChapter>wContainer){
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    52
            btnCutChapter.css("left",(pos - wBtnCutChapter));
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    53
        }else{
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    54
            btnCutChapter.css("left",pos);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    55
        }
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    56
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    57
        //annotations view
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    58
        var currentAnnotationsDisplay = new Array();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    59
        $.each(annotations, function(k, v){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    60
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    61
            if(v.begin <= t && v.end >= t){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    62
                currentAnnotationsDisplay.push(v.id);
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    63
                if(!$('#item-current-annotation-'+v.id).length){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    64
                    var itemAnnotation = 
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    65
                        $('<li>')
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    66
                            .attr('id', 'item-current-annotation-'+v.id)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    67
                            .attr('data-id', v.id)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    68
                            .append(
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    69
                                $('<a>')
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    70
                                    .css('backgroundColor', v.color)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    71
                                    .attr('data-id', v.id)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    72
                                    .attr('href', '#')
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    73
                                    .append(
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    74
                                        $('<i>').addClass('icon-'+getIcon(v.type))
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    75
                                    )
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    76
                            );
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    77
                    $('.list-current-annotations').append(itemAnnotation)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    78
                }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    79
            }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    80
        });
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    81
        $.each($('.list-current-annotations li'), function(k, v){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    82
            var idAnnotation = $(this).attr('data-id'),
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    83
                annotationDisplayView = $('.annotation-display-view');
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    84
            if($.inArray(idAnnotation, currentAnnotationsDisplay)<0){//il ne doit plus être affiché
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    85
                $('#item-current-annotation-'+idAnnotation).remove();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    86
                if(annotationDisplayView.attr('data-id') == idAnnotation && annotationDisplayView.is(":visible")){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    87
                    annotationDisplayView.hide();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    88
                }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    89
            }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    90
        });
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    91
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    92
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
    93
    });//timeupdate
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    94
    
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    95
});//myProject.onLoad
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    96
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    97
//display annotation view
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    98
$('.list-current-annotations').on('click', 'a', function(e){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
    99
    e.preventDefault();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   100
    var annotationDisplayView = $('.annotation-display-view'),
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   101
        idAnnotation = $(this).attr('data-id');
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   102
    var annotation = _.find(annotations, function(c){ return c.id == idAnnotation; });
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   103
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   104
    if(annotationDisplayView.attr('data-id') == idAnnotation && annotationDisplayView.is(":visible")){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   105
        annotationDisplayView.hide();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   106
    }else{
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   107
        annotationDisplayView
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   108
            .attr('data-id', idAnnotation)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   109
            .css('backgroundColor', annotation.color)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   110
            .text(annotation.type)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   111
            .show();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   112
    }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   113
});
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   114
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   115
//########### modal
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   116
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   117
    $(document).on('click', 'a.open-modal', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   118
        var diaporama = $(this).attr('data-diaporama'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   119
            idAnnotation = $(this).attr('data-id');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   120
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   121
        if(diaporama !== undefined){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   122
            global.diaporama = diaporama;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   123
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   124
        if(idAnnotation !== undefined){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   125
            global.idAnnotation = idAnnotation;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   126
        }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   127
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   128
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   129
//edition image
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   130
    $('.popup').on('change', '#media-type-select', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   131
        var typeImage = $(this).val();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   132
        $('.input-image-url, .input-image-upload').hide();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   133
        $('.input-image-'+typeImage).show();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   134
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   135
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   136
//bibliotheque
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   137
    //video
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   138
    $('.popup').on('click', '.bibliotheque-video a', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   139
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   140
        $('.popup').modal('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   141
        $.get('template.html', function(templates){
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   142
            var videoWrap = $('#tab-'+global.idAnnotation).find('.annotation-video-content'),
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   143
                tplVideo = $(templates).filter('#tpl-video-row').html();
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   144
                console.log(videoWrap)
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   145
            videoWrap.empty().append(tplVideo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   146
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   147
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   148
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   149
    //image
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   150
    $('.popup').on('click', '.bibliotheque-image a', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   151
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   152
        var listDiaporama = $('#'+global.diaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   153
        addImageToDiaporama(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   154
        $('.popup').modal('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   155
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   156
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   157
    
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   158
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   159
    //confirmation suppression
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   160
    $("#modal-confirm").on('click', '#btn-delete-modal', function(e){
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   161
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   162
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   163
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   164
//--title-editor
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   165
$('.project-title-editor ._popover').bind('click',function(e){e.preventDefault()});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   166
    $('.project-title-editor ._popover').popover({
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   167
        html : true,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   168
        content : function(){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   169
            var previousValue = $('.project-title').text(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   170
                formInput = 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   171
                    '<form action="#" class="project-title-editor-form">'+
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   172
                        '<input type="text" class="project-title-editor-input" value="'+previousValue+'">'+
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   173
                    '</form>';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   174
            return formInput;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   175
        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   176
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   177
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   178
    $('body').on('click', function (e) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   179
        $('._popover').each(function () {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   180
            if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   181
                $(this).popover('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   182
            }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   183
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   184
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   185
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   186
    $('body').on('submit', '.project-title-editor-form', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   187
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   188
        $('._popover').popover('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   189
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   190
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   191
    $(document).on('keyup', '.project-title-editor-input', function() {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   192
        $('.project-title').html($(this).val());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   193
    });
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   194
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   195
//######################## chapter
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   196
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   197
//edit
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   198
    $('.list-chapter-wrap').on('click', '.btn-edit-chapter', function(e){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   199
        e.preventDefault();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   200
        var idChapter = $(this).attr('data-chapter-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   201
        loadFormChapter(idChapter);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   202
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   203
23
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   204
    $('.chapter-segments').on('click', 'li', function(){
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   205
        var idChapter = $(this).attr('id');
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   206
        loadFormChapter(idChapter);
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   207
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   208
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   209
    $('.chapter-widget-info').on('keyup', 'input[name=title], textarea', function(e){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   210
        var name = $(this).attr('name'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   211
            value = $(this).val();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   212
        currentChapter[name] = value;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   213
        if(name == 'title'){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   214
            var idChapter = $(this).parents('form').attr('data-chapter-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   215
            $('.chapter-segments').find('#'+idChapter).text(value);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   216
            $('#row-list-chapter-'+idChapter).find('td:first').text(value);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   217
        }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   218
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   219
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   220
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   221
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   222
    function loadFormChapter(idChapter){
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   223
        currentChapter = _.find(chapters, function(c){ return c.id == idChapter; });
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   224
        var chapterWrap = $('.chapter-widget-info'),
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   225
            indexChapter = _.indexOf(chapters, currentChapter),
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   226
            beginTangle = (indexChapter>0) ? true : false,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   227
            endTangle = (indexChapter<(chapters.length-1)) ? true : false;
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   228
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   229
        currentChapter.beginTangle = beginTangle;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   230
        currentChapter.endTangle = endTangle;
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   231
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   232
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   233
            var tpl = $(templates).filter('#tpl-chapter-edit').html();
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   234
            tpl = Mustache.render(tpl, currentChapter);
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   235
            chapterWrap.empty().append(tpl);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   236
            chapterWrap.find('.tag-it').tagit(tagitParam);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   237
        });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   238
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   239
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   240
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   241
//supprimer
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   242
$('.list-chapter-wrap').on('click', '.btn-delete-chapter', function(e){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   243
    e.preventDefault();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   244
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   245
    if(chapters.length == 1){alert('Le projet doit contenir au moins un chapitre.'); return;}
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   246
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   247
    var idChapter = $(this).attr('data-chapter-id'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   248
        chapter = _.find(chapters, function(c){ return c.id == idChapter; }),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   249
        indexChapter = _.indexOf(chapters, chapter),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   250
        chapterModify;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   251
    if(indexChapter == 0){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   252
        chapterModify = chapters[1];
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   253
        chapterModify.setBegin(0);
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   254
    }else{
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   255
        chapterModify = chapters[indexChapter-1];
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   256
        //var newEnd = new IriSP.Model.Time(chapter.end)
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   257
        chapterModify.setEnd(chapter.end);
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   258
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   259
    chapters = _(chapters).reject(function(c) { return c.id == idChapter; });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   260
    renderChapter();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   261
    //si le formulaire est visible
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   262
    if($('#form-chapter-edit-'+idChapter).length){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   263
        $('#form-chapter-edit-'+idChapter).remove();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   264
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   265
});
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   266
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   267
//nouveau chapitre
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   268
    function newChapter(dataChapter){
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   269
        var chapter = new IriSP.Model.Annotation(false, myProject);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   270
            chapter.setMedia(myMedia.id);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   271
            chapter.setBegin(dataChapter.begin);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   272
            chapter.setEnd(dataChapter.end);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   273
            chapter.title = dataChapter.title;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   274
            chapter.description = dataChapter.description;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   275
            chapter.keywords = dataChapter.keywords;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   276
            chapter.color = global.colors[(global.colorsIndex<global.colors.length) ? global.colorsIndex++ : (global.colorsIndex=0)];
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   277
    
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   278
        chapters.push(chapter);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   279
        renderChapter();
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   280
        loadFormChapter(chapter.id);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   281
    }
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   282
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   283
    $('.chapter-widget').on('click', '.btn-cut-chapter', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   284
        e.preventDefault();
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   285
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   286
        var dataChapter = {
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   287
                title : 'New',
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   288
                begin : myMedia.currentTime,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   289
                end : organizeNewChapter(myMedia.currentTime),
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   290
                description : 'description',
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   291
                keywords : ['tag1','tag2']
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   292
            };
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   293
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   294
        newChapter(dataChapter);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   295
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   296
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   297
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   298
    function organizeNewChapter(beginNew){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   299
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   300
        var returnEnd;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   301
        $.each(chapters, function(k, v){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   302
            var begin = v.begin,
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   303
                end = v.end;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   304
            if(beginNew>=begin && beginNew<=end){
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   305
                returnEnd = new IriSP.Model.Time(end);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   306
                v.setEnd(beginNew); 
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   307
            }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   308
        });
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   309
 
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   310
        return returnEnd;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   311
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   312
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   313
    function renderChapter(){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   314
        var chapterSegmentWrap = $('.chapter-segments'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   315
            wChapterSegmentWrap = chapterSegmentWrap.width(),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   316
            chapterList = $('.list-chapter-rows-wrap');
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   317
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   318
        chapters = _.sortBy(chapters, function(c){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   319
            return c.begin;
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   320
        });
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
   321
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   322
        chapterSegmentWrap.empty();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   323
        chapterList.empty();
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   324
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   325
        $.each(chapters, function(k, v){
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   326
            //form
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   327
            if($('#form-chapter-edit-'+v.id).length){
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   328
                loadFormChapter(v.id);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   329
            }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   330
            //segments
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   331
            var width = Math.floor(v.getDuration() * wChapterSegmentWrap / myMedia.duration),
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   332
                segment = $('<li>'+v.title+'</li>').css({
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   333
                    width : width,
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   334
                    backgroundColor : v.color
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   335
                }).attr('id', v.id);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   336
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   337
            chapterSegmentWrap.append(segment);
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   338
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   339
            //liste
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   340
            $.get('template.html', function(templates){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   341
                var tplChapterRow = $(templates).filter('#tpl-chapter-row').html();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   342
                tplChapterRow = Mustache.render(tplChapterRow, v);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   343
                chapterList.append(tplChapterRow);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   344
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   345
            });
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   346
        });
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   347
    }
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   348
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   349
//init
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   350
    function loadInitChapters(){//nouveau projet, 1 chapitre
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   351
        var dataChapter = {
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   352
                title : 'New',
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   353
                begin : 0,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   354
                end : myMedia.duration,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   355
                description : 'description',
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   356
                keywords : ['tag1','tag2']
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   357
            };
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   358
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   359
        newChapter(dataChapter);
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   360
    }
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   361
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   362
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   363
//######################## annotation
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   364
    
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   365
    function loadInitAnnotation(){//nouveau projet, 1 chapitre
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   366
        var dataAnnotation = {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   367
                title : 'Titre azerty',
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   368
                begin : myMedia.duration/5,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   369
                end : myMedia.duration/3,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   370
                description : 'description',
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   371
                type : 'video',
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   372
                keywords : ['ideal', 'tag']
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   373
            };
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   374
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   375
        newAnnotation(dataAnnotation);
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   376
        renderAnnotation();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   377
    }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   378
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   379
    function newAnnotation(dataAnnotation){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   380
        var annotation = new IriSP.Model.Annotation(false, myProject);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   381
            annotation.setMedia(myMedia.id);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   382
            annotation.setBegin(dataAnnotation.begin);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   383
            annotation.setEnd(dataAnnotation.end);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   384
            annotation.title = dataAnnotation.title;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   385
            annotation.description = dataAnnotation.description;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   386
            annotation.type = dataAnnotation.type;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   387
            annotation.color = global.colors[(global.colorsIndex<global.colors.length) ? global.colorsIndex++ : (global.colorsIndex=0)];
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   388
            annotation.keywords = dataAnnotation.keywords;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   389
            annotation.content = getContentAnnotationByType(dataAnnotation.type);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   390
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   391
        annotations.push(annotation);
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   392
        
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   393
        return annotation;
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   394
    }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   395
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   396
    function renderAnnotation(){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   397
        var timeline = $('.timeline-annotations'),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   398
            wTimeline = timeline.width(),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   399
            annotationList = $('#list-annotations-rows');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   400
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   401
        annotations = _.sortBy(annotations, function(c){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   402
            return c.begin;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   403
        });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   404
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   405
        timeline.empty();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   406
        annotationList.empty();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   407
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   408
        $.each(annotations, function(k, v){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   409
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   410
            //timeline
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   411
            var width = Math.floor(v.getDuration() * wTimeline / myMedia.duration),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   412
                left = Math.floor(v.begin * wTimeline / myMedia.duration),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   413
                segment = $('<div>').css({
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   414
                    left : left,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   415
                    width : width,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   416
                    backgroundColor : v.color
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   417
                }).addClass('annotation').attr('id', 'annotation-timeline-'+v.id);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   418
    
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   419
            timeline.append(segment);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   420
           
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   421
            //liste
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   422
            $.get('template.html', function(templates){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   423
                var tplAnnotationRow = $(templates).filter('#tpl-list-annotation-row').html();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   424
                tplAnnotationRow = Mustache.render(tplAnnotationRow, v);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   425
                annotationList.append(tplAnnotationRow);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   426
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   427
            });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   428
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   429
        });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   430
    }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   431
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   432
    //edit annotation
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   433
    $('#list-annotations').on('click', 'a.btn-edit-annotation', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   434
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   435
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   436
        var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   437
        //si il est déjà ouvert
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   438
        if($('#tab-annotation-'+idAnnotation).length){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   439
            $('a[href=#tab-annotation-'+idAnnotation+']').tab('show');
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   440
        }else{
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   441
            var data = _.find(annotations, function(c){ return c.id == idAnnotation; });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   442
            openTab(data.type, data);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   443
        } 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   444
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   445
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   446
    $('.tab-content').on('keyup', 'input[name=title], textarea', function(e){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   447
        var name = $(this).attr('name'),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   448
            value = $(this).val();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   449
        currentAnnotation[name] = value;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   450
        if(name == 'title'){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   451
            var idAnnotation = $(this).parents('form').attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   452
            $('#onglet-title-'+idAnnotation).text(value);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   453
        }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   454
    });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   455
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   456
    //delete annotation
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   457
    $(document).on('click','.btn-delete-annotation', function(e){
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   458
        e.preventDefault();
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   459
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   460
        var idAnnotation = $(this).attr('data-id');
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   461
        annotations = _(annotations).reject(function(c) { return c.id == idAnnotation; });
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   462
        closeTab(idAnnotation);
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   463
        if(!$(this).hasAttr('data-no-render'))//si on ferme à partir de la tab renderAnnotation sera appelé 2 fois
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   464
            renderAnnotation();
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   465
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   466
    });
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   467
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   468
//tab
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   469
    $('#onglet-annotations').on('click', 'a', function(e){
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   470
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   471
        $(this).tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   472
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   473
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   474
    //ouvrir tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   475
    $(document).on('click', '.open-tab', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   476
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   477
        var type = $(this).attr('data-type');
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   478
        openTab(type);
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   479
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   480
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   481
    function openTab(type, data){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   482
        
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   483
        var dataView;
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   484
        if(_.isUndefined(data)){//nouveau
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   485
            var currentTimePlusUnMin = 60 * 1000 + myMedia.currentTime,
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   486
                endAnnotation = (currentTimePlusUnMin<myMedia.duration) ? currentTimePlusUnMin : myMedia.duration;
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   487
            var dataAnnotation = {
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   488
                title : 'Nouveau',
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   489
                begin : myMedia.currentTime,
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   490
                end : endAnnotation,
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   491
                description : 'description',
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   492
                type : type,
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   493
                keywords : []
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   494
            };
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   495
            dataView = newAnnotation(dataAnnotation);
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   496
            renderAnnotation();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   497
        }else{//édition
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   498
            dataView = data;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   499
        }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   500
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   501
        var idAnnotation = dataView.id,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   502
            tabContent = $('<div class="tab-pane" id="tab-annotation-'+idAnnotation+'"></div>'),
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   503
            iconTab;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   504
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   505
        currentAnnotation = _.find(annotations, function(c){ return c.id == idAnnotation; });
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   506
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   507
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   508
            //head commun à tous
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   509
            var tplHead = $(templates).filter('#tpl-head').html();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   510
            var output = Mustache.render(tplHead, dataView);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   511
            $(tabContent).append(output);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   512
            $(tabContent).find(".slider-duration").slider(configSlider(dataView));
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   513
            $(tabContent).find('.tag-it').tagit(tagitParam);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   514
            //type
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   515
            var viewType = {id : idAnnotation};
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   516
            var tpl = $(templates).filter('#tpl-'+type).html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   517
            tpl = Mustache.render(tpl, viewType);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   518
            $(tabContent).append(tpl);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   519
            $('.tab-content').append(tabContent);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   520
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   521
            //particularité selon type
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   522
            switch(type){
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   523
                case 'sound':
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   524
                    break;
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   525
                case 'video':
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   526
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   527
                case 'text': 
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   528
                    var cledit = $(tabContent).find('.wysiwyg').cleditor(wysiwygConfig)[0];
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   529
                    break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   530
                case 'links': 
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   531
                    break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   532
                case 'slideshow': 
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   533
                    $(tabContent).find('.number-spin').spin(spinParam);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   534
                    $(tabContent).find('.ui-sortable').sortable({
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   535
                        stop : function(event, ui){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   536
                            disabledBtnSortable($(this));
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   537
                        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   538
                    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   539
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   540
            }
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   541
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   542
            dataView.iconTab = getIcon(type);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   543
            var tplOnglet = $(templates).filter('#tpl-onglet').html();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   544
            var onglet = Mustache.render(tplOnglet, dataView);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   545
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   546
            $(".nav-tabs li:last-child").after(onglet);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   547
            $('a[href=#tab-annotation-'+idAnnotation+']').tab('show');
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   548
        });
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   549
    }//openTab()
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   550
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   551
    function getIcon(type){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   552
        var icon;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   553
        switch(type){
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   554
            case 'sound': icon = 'volume-up';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   555
                break;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   556
            case 'video': icon = 'film';
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   557
                break;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   558
            case 'text': 
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   559
                icon = 'align-left';
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   560
                break;
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   561
            case 'html': icon = 'code';
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   562
                break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   563
            case 'links': icon = 'link';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   564
                break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   565
            case 'slideshow': icon = 'picture';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   566
                break;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   567
        }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   568
        return icon;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   569
    }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   570
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   571
    //définit currentAnnotation quand la tab s'ouvre
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   572
    $('#onglet-annotations').on('show', 'a[data-toggle="annotation"]', function (e) {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   573
        var idAnnotation = $(e.target).attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   574
        currentAnnotation = _.find(annotations, function(c){ return c.id == idAnnotation; });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   575
    });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   576
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   577
    //rafraichit annotations au retour sur la liste
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   578
    $('#onglet-annotations').on('show', 'a[data-toggle="list-annotations"]', function (e) {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   579
        renderAnnotation();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   580
    });
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   581
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   582
    //fermer tab
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   583
    $('#onglet-annotations').on('click', 'span.close-tab', function(e){
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   584
        e.preventDefault();e.stopPropagation();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   585
        var idAnnotation = $(this).parents('a').attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   586
        closeTab(idAnnotation);
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   587
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   588
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   589
    $('.tab-content').on('click', '.btn-save-annotation', function(e){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   590
        e.preventDefault();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   591
        var idAnnotation = $(this).attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   592
        closeTab(idAnnotation);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   593
    });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   594
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   595
    function closeTab(idAnnotation){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   596
        $('#onglet-'+idAnnotation).remove();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   597
        $('.tab-content #tab-annotation-'+idAnnotation).remove();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   598
        $('#tab-list-annotation').tab('show');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   599
    }
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   600
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   601
//diaporama
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   602
    function addImageToDiaporama(diaporama){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   603
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   604
            var tplDiapo = $(templates).filter('#tpl-diaporama-row').html(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   605
                uniqId = 'id' + (new Date()).getTime(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   606
                viewDiapo = { ridid : uniqId};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   607
            tplDiapo = Mustache.render(tplDiapo, viewDiapo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   608
            diaporama.append(tplDiapo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   609
            disabledBtnSortable(diaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   610
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   611
    };
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   612
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   613
    //bouton up / down
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   614
    $(document).on('click', '.ui-sortable .btn-sort', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   615
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   616
        var row = $(this).parents('tr.row-image-diaporama'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   617
            listDiaporama = $(this).parents('.list-image-diaporama');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   618
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   619
        if($(this).hasClass('down'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   620
            row.insertAfter(row.next());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   621
        else if($(this).hasClass('up'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   622
            row.insertBefore(row.prev());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   623
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   624
        disabledBtnSortable(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   625
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   626
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   627
    function disabledBtnSortable(listDiaporama){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   628
        listDiaporama.find('.btn-sort.disabled').removeClass('disabled');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   629
        listDiaporama.find('tr.row-image-diaporama:first-child').find('.btn-sort.up').addClass('disabled');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   630
        listDiaporama.find('tr.row-image-diaporama:last-child').find('.btn-sort.down').addClass('disabled');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   631
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   632
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   633
    
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   634
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   635
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   636
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   637
//annotation html
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   638
$('.tab-content').on('click', '.btn-html-apercu', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   639
    e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   640
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   641
    var apercuWrap = $(this).parents('.edit-annotation-html').find('.html-apercu'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   642
        htmlTextarea = $(this).parents('.edit-annotation-html').find('textarea');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   643
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   644
    apercuWrap.empty().html(htmlTextarea.val());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   645
});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   646
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   647
//annotation texte
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   648
$(document).on('keyup', ".cleditorMain iframe", function(){
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   649
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   650
    var v = $(this).text(); // or .html() if desired
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   651
    $('#x').html(v);
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   652
});
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   653
//annotation > diaporama (spin)
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   654
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   655
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   656
//################ config
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   657
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   658
//tagit
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   659
function onTagItChange(e, ui) {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   660
    var tagitType = $(this).attr('data-type'), 
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   661
        value = $(this).val();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   662
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   663
    if(tagitType == 'chapter'){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   664
        var idChapter = $(this).parents('form').attr('data-chapter-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   665
        currentChapter.keywords = value.split(',');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   666
        $('#row-list-chapter-'+idChapter).find('.list-chapter-tags').text(value);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   667
    }else{
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   668
        currentAnnotation.keywords = value.split(',');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   669
    }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   670
    
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   671
}
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   672
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   673
var tagitParam = {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   674
    afterTagRemoved : onTagItChange,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   675
    afterTagAdded : onTagItChange
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   676
}
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   677
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   678
//CLEditor annotation > text (wysiwyg)
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   679
//http://premiumsoftware.net/cleditor/docs/GettingStarted.html#optionalParameters
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   680
var wysiwygConfig = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   681
    width:        456, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   682
    height:       250, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   683
    controls:     "bold italic underline strikethrough | font size " +
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   684
                    "style | color highlight removeformat | bullets numbering | source",
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   685
    fonts:        "Arial,Arial Black,Comic Sans MS,Courier New,Narrow,Garamond," +
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   686
                    "Georgia,Impact,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   687
    sizes:        "1,2,3,4,5,6,7",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   688
    styles:       [["Paragraph", "<p>"], ["Header 1", "<h1>"], ["Header 2", "<h2>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   689
                    ["Header 3", "<h3>"],  ["Header 4","<h4>"],  ["Header 5","<h5>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   690
                    ["Header 6","<h6>"]],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   691
    docType:      '<!DOCTYPE HTML>',
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   692
    bodyStyle:    "margin:0; font-family: 'Helvetica Neue',​Helvetica,​Arial,​sans-serif;",
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   693
    updateTextArea : function(text){
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   694
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   695
        return text;
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   696
    },
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   697
    updateFrame: function(text){
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   698
  
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   699
        return text;
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   700
    }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   701
};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   702
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   703
//slider
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   704
function configSlider(data){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   705
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   706
    return {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   707
        range: true,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   708
        values: [ data.begin.milliseconds, data.end.milliseconds ],
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   709
        min: 0,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   710
        max: myMedia.duration.milliseconds,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   711
        slide: function( event, ui ) {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   712
            
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   713
            data.setBegin(ui.values[0]);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   714
            data.setEnd(ui.values[1]);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   715
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   716
            var idSlider = $(this).attr('data-id'),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   717
                wTimeline = $('.timeline-annotations').width(),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   718
                annotationTimeline = $('#annotation-timeline-'+ data.id),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   719
                width = Math.floor(data.getDuration() * wTimeline / myMedia.duration),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   720
                left = Math.floor(data.begin * wTimeline / myMedia.duration);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   721
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   722
            $( '#'+ idSlider +'-begin' ).html(data.begin.toString());
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   723
            $( '#'+ idSlider +'-duration' ).html(data.getDuration().toString());
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   724
            $( '#'+ idSlider +'-end' ).html(data.end.toString());
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   725
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   726
            annotationTimeline.css({
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   727
                left : left,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   728
                width :width
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   729
            });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   730
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   731
        }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   732
    };
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   733
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   734
}
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   735
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   736
function getContentAnnotationByType(type){
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   737
    var content;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   738
    switch(type){
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   739
        case 'sound':
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   740
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   741
                mimetype : "application/x-ldt-sound",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   742
                url : "",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   743
                embedcode : ""
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   744
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   745
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   746
        case 'video':
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   747
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   748
                mimetype : "application/x-ldt-video",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   749
                url : "",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   750
                embedcode : ""
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   751
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   752
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   753
        case 'text': 
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   754
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   755
                mimetype : "application/x-ldt-text",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   756
                markup : "html",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   757
                text : ""
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   758
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   759
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   760
        case 'links': 
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   761
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   762
                mimetype : "application/x-ldt-links",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   763
                markup : "html",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   764
                links : []
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   765
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   766
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   767
        case 'slideshow': 
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   768
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   769
                mimetype : "application/x-ldt-slideshow",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   770
                duration : 1,
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   771
                autostart : false,
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   772
                images : []
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   773
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   774
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   775
    }
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   776
    return content;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   777
}//getContentAnnotationByType
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   778
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   779
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   780
//test
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   781
a = $(".wysiwyg").cleditor(wysiwygConfig);
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   782
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   783
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   784
$('.number-spin').spin(spinParam);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   785
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   786
disabledBtnSortable($('.ui-sortable'))
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   787
$('.ui-sortable').sortable({
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   788
    stop : function(event, ui){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   789
        disabledBtnSortable($(this));
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   790
    }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   791
});
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   792
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   793
$('.slider-duration').slider(configSlider);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   794
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   795
$(".tag-it").tagit();
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   796
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   797
});//ready