integration/js/edition.js
author Anthony Ly <anthonyly.com@gmail.com>
Thu, 06 Jun 2013 14:59:59 +0200
changeset 84 9f481f896e60
parent 83 8f954a0d6031
child 86 e61b3adf46f2
permissions -rw-r--r--
save project beta
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
     1
var myMedia = undefined,
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
     2
    currentChapter = undefined,
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
     3
    currentAnnotation = undefined;
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     4
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
     5
$(function(){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     7
var global = {
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     8
    colorsIndex : 0,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
     9
    colors : 
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
    10
        ['#1abc9c', '#3498db', '#9b59b6', '#2ecc71',  
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
    11
        '#f1c40f', '#ecf0f1', '#e67e22', '#e74c3c', '#95a5a6',
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
    12
        '#16a085', '#2980b9', '#8e44ad', '#27ae60', 
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
    13
         '#f39c12', '#c0392b', '#bdc3c7', '#d35400', '#7f8c8d']
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    14
};
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    15
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
    16
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    17
//position de la video setCurrentTime
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    18
$(".indicateur-annotation").draggable({
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    19
    axis: "x",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    20
    containment: "parent",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    21
    drag: function(e, ui) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    22
        var t = myMedia.duration * parseInt(ui.helper.css("left")) / ( $(".timeline-annotations").width() - 2 * ui.helper.width() );
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    23
        myMedia.setCurrentTime(t);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    24
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    25
});
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
    26
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    27
$('.timeline-annotations').bind('click', function(e){
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    28
    var x = e.pageX - $(this).offset().left;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    29
    myMedia.setCurrentTime(myMedia.duration * x / $(this).width());
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    30
});
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
    31
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    32
myProject.onLoad(function() {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    33
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    34
    $(".project-title").text(myProject.title);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
    35
    $('.project-title-nav').text(myProject.title);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
    36
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    37
    myMedia = myProject.getCurrentMedia();
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
    38
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    39
    var anntypes = myProject.getAnnotationTypes().searchByTitle("chapitrage");
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    40
    if (!anntypes.length) {
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    41
        chapterAnnType = new IriSP.AnnotationType(false, myProject);
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    42
        chapterAnnType.title = "chapitrage";
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    43
    } else {
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    44
        chapterAnnType = anntypes[0];
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    45
    }
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    46
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
    47
//load Chapitre
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    48
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    49
    chapters = chapterAnnType.getAnnotations();
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    50
    $.each(chapters, function(k, v){
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    51
        v.color = getRandomColor();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    52
    });
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    53
    renderChapter();
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    54
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    55
//load Annotations
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    56
    var anntypes = myProject.getAnnotationTypes().searchByTitle("annotations");
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    57
    if (!anntypes.length) {
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    58
        annotationsAnnType = new IriSP.AnnotationType(false, myProject);
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    59
        annotationsAnnType.title = "annotations";
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    60
    } else {
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    61
        annotationsAnnType = anntypes[0];
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    62
    }
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    63
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    64
    annotations = annotationsAnnType.getAnnotations();
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    65
    $.each(annotations, function(k, v){
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    66
        var type = v.content.mimetype.split('-');
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    67
        type = type[type.length-1]
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    68
        v.type = type;
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    69
        v.color = getRandomColor();
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    70
    });
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
    71
    renderAnnotation();
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
    72
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
    73
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    74
    IriSP.htmlPlayer(
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    75
        myMedia,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    76
        $(".main-video"),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    77
        {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    78
            width: 460,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    79
            height: 345,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    80
            controls: true,
54
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    81
            autostart: true,
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    82
            url_transform: function(src) {
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    83
                return [{
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    84
                    type: "video/mp4",
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    85
                    src: src.replace(/\.[\d\w]+$/,'.mp4')
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    86
                }, {
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    87
                    type: "video/webm",
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    88
                    src: src.replace(/\.[\d\w]+$/,'.webm')
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    89
                }];
2a7064b70693 webm/mp4 fallback
veltr
parents: 51
diff changeset
    90
            }
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    91
        }
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    92
    );
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    93
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    94
    myMedia.on("timeupdate", function(t) {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    95
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    96
        //curseur chapitre
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    97
        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
    98
            pos = wContainer * t / myMedia.duration,
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    99
            btnCutChapter = $('.btn-cut-chapter'),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   100
            wBtnCutChapter = btnCutChapter.outerWidth();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   101
        
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   102
        $(".indicateur-chapter, .indicateur-annotation").css("left",pos);
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   103
        if(pos+wBtnCutChapter>wContainer){
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   104
            btnCutChapter.css("left",(pos - wBtnCutChapter));
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   105
        }else{
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   106
            btnCutChapter.css("left",pos);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   107
        }
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   108
        $('.info-time').text(t)
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   109
        //annotations view
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   110
        refreshAnnotationDisplay(t);
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   111
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
   112
    });//timeupdate
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   113
    
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   114
});//myProject.onLoad
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   115
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   116
function refreshAnnotationDisplay(t){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   117
    
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   118
    var currentAnnotationsDisplay = new Array();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   119
    $.each(annotations, function(k, v){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   120
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   121
        if(v.begin <= t && v.end >= t){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   122
            currentAnnotationsDisplay.push(v.id);
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   123
            if(!$('#item-current-annotation-'+v.id).length){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   124
                var itemAnnotation = 
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   125
                    $('<li>')
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   126
                        .attr('id', 'item-current-annotation-'+v.id)
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   127
                        .attr('data-id', v.id)
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   128
                        .append(
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   129
                            $('<a>')
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   130
                                .css('backgroundColor', v.color)
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   131
                                .attr('data-id', v.id)
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   132
                                .attr('href', '#')
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   133
                                .append(
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   134
                                    $('<i>').addClass('icon-'+getIcon(v.type))
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   135
                                )
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   136
                        );
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   137
                $('.list-current-annotations').append(itemAnnotation)
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   138
            }
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   139
        }
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   140
    });
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   141
    $.each($('.list-current-annotations li'), function(k, v){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   142
        var idAnnotation = $(this).attr('data-id'),
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   143
            annotationDisplayView = $('.annotation-display-view');
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   144
        if($.inArray(idAnnotation, currentAnnotationsDisplay)<0){//il ne doit plus être affiché
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   145
            $('#item-current-annotation-'+idAnnotation).remove();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   146
            if(annotationDisplayView.attr('data-id') == idAnnotation && annotationDisplayView.is(":visible")){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   147
                annotationDisplayView.hide();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   148
            }
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   149
        }
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   150
    });
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   151
    if(currentAnnotation !== undefined){ 
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   152
        showCurrentAnnotationInTimeline(currentAnnotation.id);
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   153
    }
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   154
}
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   155
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   156
function showCurrentAnnotationInTimeline(idAnnotation){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   157
    $('.timeline-annotations .annotation').empty();
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   158
    $('#annotation-timeline-'+idAnnotation).html('<i class="icon-pencil"></i> '+textCurrentAnnotationEditT);
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   159
}
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   160
//display annotation view
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   161
$('.list-current-annotations').on('click', 'a', function(e){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   162
    e.preventDefault();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   163
    var annotationDisplayView = $('.annotation-display-view'),
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   164
        idAnnotation = $(this).attr('data-id');
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   165
    var annotation = _.find(annotations, function(c){ return c.id == idAnnotation; });
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   166
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   167
    if(annotationDisplayView.attr('data-id') == idAnnotation && annotationDisplayView.is(":visible")){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   168
        annotationDisplayView.hide();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   169
    }else{
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   170
        annotationDisplayView
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   171
            .attr('data-id', idAnnotation)
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   172
            .css('backgroundColor', annotation.color)
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   173
            .text(annotation.type+' : '+annotation.title)
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   174
            .show();
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   175
    }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   176
});
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   177
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   178
//########### modal
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   179
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   180
    $(document).on('click', 'a.open-modal', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   181
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   182
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   183
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   184
//select on bibliotheque
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   185
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   186
    //confirmation suppression
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   187
    $("#modal-confirm").on('click', '#btn-delete-modal', function(e){
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   188
        
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   189
        var typeDelete = $(this).attr('data-type-delete'),
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   190
            idAnnotation = $(this).attr('data-id');
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   191
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   192
        if(typeDelete == 'chapter' || typeDelete == 'annotation'){
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   193
            e.preventDefault();
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   194
            if(typeDelete == 'chapter') deleteChapter(idAnnotation);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   195
            if(typeDelete == 'annotation') deleteAnnotation(idAnnotation);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   196
        }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   197
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   198
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   199
//--apercu projet
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   200
$(document).on('click', '.btn-apercu-projet.disabled', function(e){
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   201
    e.preventDefault();
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   202
});
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   203
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   204
//--title-editor
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   205
    $(document).on('click', '.project-title-editor i, .project-title', function () {
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   206
        disabledPreview();
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   207
        var html = $('.project-title').html();
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   208
        var input = $('<input type="text" />');
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   209
        input.val(html);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   210
        $('.project-title').replaceWith(input);
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   211
        input.focus().keypress(function(e){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   212
            code = (e.keyCode ? e.keyCode : e.which);
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   213
            if (code == 13) $(this).blur();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   214
        });
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   215
    });
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   216
    $(document).on('blur', '.project-title-editor input', function(){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   217
        var newTitle = $(this).val();
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   218
        myProject.title = newTitle;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   219
        $(this).replaceWith('<span class="project-title">'+newTitle+'</span></td>');
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   220
        $('.project-title-nav').text(newTitle);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   221
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   222
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   223
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   224
//######################## chapter
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   225
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   226
//edit
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   227
    $('.list-chapter-wrap').on('click', '.btn-edit-chapter', function(e){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   228
        e.preventDefault();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   229
        var idChapter = $(this).attr('data-chapter-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   230
        loadFormChapter(idChapter);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   231
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   232
23
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   233
    $('.chapter-segments').on('click', 'li', function(){
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   234
        var idChapter = $(this).attr('id');
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   235
        loadFormChapter(idChapter);
Anthony Ly <anthonyly.com@gmail.com>
parents: 22
diff changeset
   236
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   237
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   238
    $('.chapter-widget-info').on('keyup', 'input[name=title], textarea', function(e){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   239
        disabledPreview();
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   240
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   241
        var name = $(this).attr('name'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   242
            value = $(this).val();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   243
        currentChapter[name] = value;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   244
        if(name == 'title'){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   245
            var idChapter = $(this).parents('form').attr('data-chapter-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   246
            $('.chapter-segments').find('#'+idChapter).text(value);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   247
            $('#row-list-chapter-'+idChapter).find('td:first').text(value);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   248
        }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   249
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   250
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   251
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   252
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   253
    function loadFormChapter(idChapter){
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   254
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   255
        disabledPreview();
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   256
        
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   257
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   258
        currentChapter = _.find(chapters, function(c){ return c.id == idChapter; });
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   259
        var chapterWrap = $('.chapter-widget-info'),
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   260
            indexChapter = _.indexOf(chapters, currentChapter),
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   261
            beginTangle = (indexChapter>0) ? true : false,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   262
            endTangle = (indexChapter<(chapters.length-1)) ? true : false;
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   263
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   264
        currentChapter.beginTangle = beginTangle;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   265
        currentChapter.endTangle = endTangle;
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   266
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   267
        var tpl = getTemplate('#tpl-chapter-edit');
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   268
            tpl = Mustache.render(tpl, currentChapter);
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   269
            chapterWrap.empty().append(tpl);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   270
            chapterWrap.find('.tag-it').tagit(tagitParam);
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   271
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   272
        myMedia.setCurrentTime(currentChapter.begin);
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   273
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   274
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   275
    function getTemplate(idTpl){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   276
        return $('#templates').find(idTpl).html();
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   277
    }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   278
//supprimer
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   279
$('.list-chapter-wrap').on('click', '.btn-delete-chapter', function(e){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   280
    e.preventDefault();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   281
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   282
    if(chapters.length == 1){alert('Le projet doit contenir au moins un chapitre.'); return;}
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   283
    var idChapter = $(this).attr('data-chapter-id'),
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   284
        btnDeleteModal = $("#modal-confirm #btn-delete-modal");
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   285
    btnDeleteModal.attr('data-type-delete', 'chapter');
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   286
    btnDeleteModal.attr('data-id', idChapter);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   287
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   288
});
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   289
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   290
function deleteChapter(idChapter){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   291
    disabledPreview();
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   292
    $("#modal-confirm").modal('hide');
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   293
    var chapter = _.find(chapters, function(c){ return c.id == idChapter; }),
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   294
        indexChapter = _.indexOf(chapters, chapter),
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   295
        chapterModify;
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   296
    if(indexChapter == 0){
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   297
        chapterModify = chapters[1];
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   298
        chapterModify.setBegin(0);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   299
    }else{
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   300
        chapterModify = chapters[indexChapter-1];
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   301
        //var newEnd = new IriSP.Model.Time(chapter.end)
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   302
        chapterModify.setEnd(chapter.end);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   303
    }
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   304
    chapters = _(chapters).reject(function(c) { return c.id == idChapter; });
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   305
    renderChapter();
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   306
    //si le formulaire est visible
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   307
    if($('#form-chapter-edit-'+idChapter).length){
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   308
        $('#form-chapter-edit-'+idChapter).remove();
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   309
    }
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   310
}
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   311
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   312
function getRandomColor(){
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   313
    return global.colors[(global.colorsIndex<global.colors.length) ? global.colorsIndex++ : (global.colorsIndex=0)];
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   314
}
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   315
//nouveau chapitre
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
   316
    function newChapter(dataChapter, render){
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   317
        var chapter = new IriSP.Model.Annotation(false, myProject);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   318
            chapter.setMedia(myMedia.id);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   319
            chapter.setBegin(dataChapter.begin);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   320
            chapter.setEnd(dataChapter.end);
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   321
            chapter.setAnnotationType(chapterAnnType.id);
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   322
            chapter.title = dataChapter.title;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   323
            chapter.description = dataChapter.description;
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   324
            chapter.keywords = dataChapter.keywords;
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   325
            chapter.color = getRandomColor();
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   326
    
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   327
        chapters.push(chapter);
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   328
        renderChapter();
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   329
        loadFormChapter(chapter.id);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   330
    }
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   331
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   332
    $('.chapter-widget').on('click', '.btn-cut-chapter', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   333
        e.preventDefault();
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   334
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   335
        var dataChapter = {
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   336
                title : 'New',
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   337
                begin : myMedia.currentTime,
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   338
                end : organizeNewChapter(myMedia.currentTime),
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   339
                description : 'description',
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   340
                keywords : ['tag1','tag2']
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   341
            };
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   342
55
cedadc7d039a modal delete in html title update
Anthony Ly <anthonyly.com@gmail.com>
parents: 54
diff changeset
   343
        newChapter(dataChapter, true);
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   344
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   345
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   346
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   347
    function organizeNewChapter(beginNew){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   348
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   349
        var returnEnd;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   350
        $.each(chapters, function(k, v){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   351
            var begin = v.begin,
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   352
                end = v.end;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   353
            if(beginNew>=begin && beginNew<=end){
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   354
                returnEnd = new IriSP.Model.Time(end);
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   355
                v.setEnd(beginNew); 
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   356
            }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   357
        });
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   358
 
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   359
        return returnEnd;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   360
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   361
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   362
    function renderChapter(){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   363
        disabledPreview();
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   364
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   365
        var chapterSegmentWrap = $('.chapter-segments'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   366
            wChapterSegmentWrap = chapterSegmentWrap.width(),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   367
            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
   368
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   369
        chapters = _.sortBy(chapters, function(c){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   370
            return c.begin;
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   371
        });
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
   372
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   373
        chapterSegmentWrap.empty();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   374
        chapterList.empty();
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   375
       
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   376
            $.each(chapters, function(k, v){
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   377
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   378
                //segments
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   379
                var width = v.getDuration() * wChapterSegmentWrap / myMedia.duration,
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   380
                    left = v.begin * wChapterSegmentWrap / myMedia.duration,
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   381
                    segment = $('<li>'+v.title+'</li>').css({
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   382
                        left : left,
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   383
                        width : width,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   384
                        backgroundColor : v.color
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   385
                    }).attr('id', v.id);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   386
        
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   387
                chapterSegmentWrap.append(segment);
28
a0a048ff33a1 chapter tangle
Anthony Ly <anthonyly.com@gmail.com>
parents: 23
diff changeset
   388
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   389
                //liste
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   390
                var tplChapterRow = getTemplate('#tpl-chapter-row');
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   391
                tplChapterRow = Mustache.render(tplChapterRow, v);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   392
                chapterList.append(tplChapterRow);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   393
            });
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   394
     
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   395
    }//renderChapter()
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   396
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   397
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   398
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   399
//######################## annotation
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
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   402
    function newAnnotation(dataAnnotation){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   403
        var annotation = new IriSP.Model.Annotation(false, myProject);
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   404
            annotation.setAnnotationType(annotationsAnnType.id);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   405
            annotation.setMedia(myMedia.id);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   406
            annotation.setBegin(dataAnnotation.begin);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   407
            annotation.setEnd(dataAnnotation.end);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   408
            annotation.title = dataAnnotation.title;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   409
            annotation.description = dataAnnotation.description;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   410
            annotation.type = dataAnnotation.type;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   411
            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
   412
            annotation.keywords = dataAnnotation.keywords;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   413
            annotation.content = getContentAnnotationByType(dataAnnotation.type);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   414
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   415
        annotations.push(annotation);
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   416
        
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   417
        return annotation;
34
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
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   420
    function renderAnnotation(){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   421
        disabledPreview();
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   422
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   423
        var timeline = $('.timeline-annotations'),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   424
            wTimeline = timeline.width(),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   425
            annotationList = $('#list-annotations-rows');
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
        annotations = _.sortBy(annotations, function(c){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   428
            return c.begin;
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
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   431
        timeline.empty().append('<li>');
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   432
        annotationList.empty();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   433
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   434
        $.each(annotations, function(k, v){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   435
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   436
            //timeline
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   437
            var width = Math.floor(v.getDuration() * wTimeline / myMedia.duration),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   438
                left = Math.floor(v.begin * wTimeline / myMedia.duration),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   439
                segment = $('<div>').css({
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   440
                    left : left,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   441
                    width : width,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   442
                    backgroundColor : v.color
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   443
                }).addClass('annotation').attr('id', 'annotation-timeline-'+v.id);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   444
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   445
            var isInTimeline = false;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   446
            $.each(timeline.find('li'), function(a, b){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   447
                if(isInTimeline) return;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   448
                var row = $(this);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   449
                if(row.children().length){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   450
                    var canBeInRow = true;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   451
                    $.each(row.find('.annotation'), function(c, d){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   452
                        var oAL = parseInt($(d).css('left')),
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   453
                            oAR = oAL + $(d).width(),
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   454
                            segmentR = left + width;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   455
                        if(oAL<=left && oAR>=left || oAL<=segmentR && oAR>= segmentR){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   456
                            canBeInRow = false;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   457
                        }
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   458
                    });
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   459
                    if(canBeInRow){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   460
                        row.append(segment);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   461
                        isInTimeline = true;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   462
                    }
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   463
                }else{
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   464
                    row.append(segment);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   465
                    isInTimeline = true;
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   466
                }
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   467
            });
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   468
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   469
            if(!isInTimeline){
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   470
                timeline.append('<li>');
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   471
                timeline.find('li:last-child').append(segment);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   472
            }
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   473
            
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   474
           
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   475
            //liste
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   476
                v.iconTab = getIcon(v.type);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   477
                var tplAnnotationRow = getTemplate('#tpl-list-annotation-row');
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   478
                tplAnnotationRow = Mustache.render(tplAnnotationRow, v);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   479
                annotationList.append(tplAnnotationRow);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   480
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   481
        });
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   482
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   483
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   484
    }//renderAnnotation
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   485
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   486
    //edit annotation
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   487
    $('#list-annotations').on('click', 'a.btn-edit-annotation', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   488
        e.preventDefault();
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   489
        disabledPreview();
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   490
        var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   491
        //si il est déjà ouvert
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   492
        if($('#tab-annotation-'+idAnnotation).length){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   493
            $('a[href=#tab-annotation-'+idAnnotation+']').tab('show');
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   494
        }else{
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   495
            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
   496
            openTab(data.type, data);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   497
        } 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   498
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   499
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   500
    $('.tab-content').on('keyup', '.form-info-general-annotation input[name=title], .form-info-general-annotation textarea', function(e){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   501
        disabledPreview();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   502
        var name = $(this).attr('name'),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   503
            value = $(this).val();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   504
        currentAnnotation[name] = value;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   505
        if(name == 'title'){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   506
            var idAnnotation = $(this).parents('form').attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   507
            $('#onglet-title-'+idAnnotation).text(value);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   508
        }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   509
    });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   510
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   511
    //delete annotation
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   512
    $(document).on('click','.btn-delete-annotation', function(e){
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   513
        e.preventDefault();
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   514
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   515
        var idAnnotation = $(this).attr('data-id'),
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   516
            btnDeleteModal = $("#modal-confirm #btn-delete-modal");
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   517
        btnDeleteModal.attr('data-type-delete', 'annotation');
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   518
        btnDeleteModal.attr('data-id', idAnnotation);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   519
    });
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   520
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   521
    function deleteAnnotation(idAnnotation){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   522
        disabledPreview();
74
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   523
        $("#modal-confirm").modal('hide');
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   524
        annotations = _(annotations).reject(function(c) { return c.id == idAnnotation; });
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   525
        closeTab(idAnnotation);
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   526
        renderAnnotation();
22aca5b735a2 edit and preview buttons on project div home page
Anthony Ly <anthonyly.com@gmail.com>
parents: 70
diff changeset
   527
    }
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   528
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   529
//tab
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   530
    $('#onglet-annotations').on('click', 'a', function(e){
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   531
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   532
        $(this).tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   533
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   534
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   535
    //ouvrir tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   536
    $(document).on('click', '.open-tab', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   537
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   538
        var type = $(this).attr('data-type');
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   539
        openTab(type);
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   540
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   541
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   542
    function openTab(type, data){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   543
        
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   544
        var dataView;
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   545
        if(_.isUndefined(data)){//nouveau
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   546
            var currentTimePlusUnMin = 60 * 1000 + myMedia.currentTime,
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   547
                endAnnotation = (currentTimePlusUnMin<myMedia.duration) ? currentTimePlusUnMin : myMedia.duration;
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   548
            var dataAnnotation = {
70
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   549
                title : '',
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   550
                begin : myMedia.currentTime,
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   551
                end : endAnnotation,
70
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   552
                description : '',
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   553
                type : type,
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   554
                keywords : []
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   555
            };
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   556
            dataView = newAnnotation(dataAnnotation);
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   557
            renderAnnotation();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   558
        }else{//édition
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   559
            dataView = data;
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   560
        }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   561
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   562
        var idAnnotation = dataView.id,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   563
            tabContent = $('<div class="tab-pane" id="tab-annotation-'+idAnnotation+'"></div>'),
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   564
            iconTab;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   565
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   566
        currentAnnotation = _.find(annotations, function(c){ return c.id == idAnnotation; });
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   567
        showCurrentAnnotationInTimeline(idAnnotation);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   568
            //head commun à tous
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   569
            var tplHead = getTemplate('#tpl-head');
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   570
            var output = Mustache.render(tplHead, dataView);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   571
            $(tabContent).append(output);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   572
            $(tabContent).find(".slider-duration").slider(configSlider(dataView));
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   573
            $(tabContent).find(".ui-slider-range.ui-widget-header.ui-corner-all").css('background', dataView.color);
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   574
            $(tabContent).find('.tag-it').tagit(tagitParam);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   575
            //type
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   576
            var viewType = {
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   577
                id : idAnnotation,
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   578
                content : dataView.content
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   579
            };
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   580
            var tpl = getTemplate('#tpl-'+type);
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   581
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   582
            tpl = Mustache.render(tpl, viewType);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   583
            $(tabContent).append(tpl);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   584
            $('.tab-content').append(tabContent);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   585
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   586
            //particularité selon type
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   587
            switch(type){
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   588
                case 'audio':
35
6eb0de10e9f8 delete / edit / new annotation head
Anthony Ly <anthonyly.com@gmail.com>
parents: 34
diff changeset
   589
                    break;
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   590
                case 'video':
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   591
                    if(viewType.content.url != ""){
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   592
                        var videoWrap = $(tabContent).find('.annotation-video-content');
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   593
                        renderVideoInfo(videoWrap, viewType.content);
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   594
                    }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   595
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   596
                case 'text': 
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   597
                    var cledit = $(tabContent).find('.wysiwyg').cleditor(wysiwygConfig)[0];
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   598
                    break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   599
                case 'links': 
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   600
                    var tbody = $(tabContent).find('tbody.links-rows'),
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   601
                        links = viewType.content.links;
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   602
                    if(links.length){
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   603
                        $.each(links, function(k,v){
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   604
                            addLinkRow(tbody, v);
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   605
                        });
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   606
                    }else{//il n'y a pas de lien on en ajoute 1
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   607
                        addLinkRow(tbody);
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   608
                    }
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   609
                    break;
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   610
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   611
                case 'slideshow': 
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   612
                    $(tabContent).find('.number-spin').val(dataView.content.slideduration/1000);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   613
                    $(tabContent).find('.number-spin').spin(spinParam);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   614
                    $(tabContent).find('.ui-sortable').sortable({
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   615
                        start: function (event, ui) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   616
                            $(ui.item).data("startindex", ui.item.index());
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   617
                        },
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   618
                        stop : function(event, ui){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   619
                            disabledBtnSortable($(this));
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   620
                        },
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   621
                        update : function(event, ui){
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   622
                            var oldIndex = ui.item.data("startindex"),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   623
                                newIndex = ui.item.index();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   624
                            currentAnnotation.content.images.move(oldIndex, newIndex);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   625
                        },
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   626
                    });
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   627
                    var diaporama = $(tabContent).find('#diaporama-'+idAnnotation),
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   628
                        images = viewType.content.images;
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   629
                    if(images.length){
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   630
                        $.each(images, function(k,v){
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   631
                            addImageToDiaporama(diaporama, v);
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   632
                        });
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   633
                    }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   634
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   635
            }
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   636
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   637
            dataView.iconTab = getIcon(type);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   638
            var tplOnglet = getTemplate('#tpl-onglet');
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   639
            var onglet = Mustache.render(tplOnglet, dataView);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   640
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   641
            $(".nav-tabs li:last-child").after(onglet);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   642
            $('a[href=#tab-annotation-'+idAnnotation+']').tab('show');
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   643
  
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   644
    }//openTab()
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   645
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   646
    function getIcon(type){
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   647
        var icon;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   648
        switch(type){
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   649
            case 'audio': icon = 'volume-up';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   650
                break;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   651
            case 'video': icon = 'film';
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   652
                break;
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   653
            case 'text': icon = 'align-left';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   654
                break;
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   655
            case 'html': icon = 'code';
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   656
                break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   657
            case 'links': icon = 'link';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   658
                break;
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
   659
            case 'slideshow': icon = 'picture';
36
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   660
                break;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   661
        }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   662
        return icon;
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   663
    }
4c2428524c22 annotation display view
Anthony Ly <anthonyly.com@gmail.com>
parents: 35
diff changeset
   664
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   665
    //définit currentAnnotation quand la tab s'ouvre
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   666
    $('#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
   667
        var idAnnotation = $(e.target).attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   668
        currentAnnotation = _.find(annotations, function(c){ return c.id == idAnnotation; });
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   669
        showCurrentAnnotationInTimeline(idAnnotation);
34
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
    //rafraichit annotations au retour sur la liste
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   673
    $('#onglet-annotations').on('show', 'a[data-toggle="list-annotations"]', function (e) {
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   674
        currentAnnotation = undefined;
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   675
        renderAnnotation();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   676
    });
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   677
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   678
    //fermer tab
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   679
    $('#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
   680
        e.preventDefault();e.stopPropagation();
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   681
        var idAnnotation = $(this).parents('a').attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   682
        closeTab(idAnnotation);
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   683
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   684
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   685
    $('.tab-content').on('click', '.btn-save-annotation', function(e){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   686
        e.preventDefault();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   687
        var idAnnotation = $(this).attr('data-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   688
        closeTab(idAnnotation);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   689
    });
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   690
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   691
    function closeTab(idAnnotation){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   692
        $('#onglet-'+idAnnotation).remove();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   693
        $('.tab-content #tab-annotation-'+idAnnotation).remove();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   694
        $('#tab-list-annotation').tab('show');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   695
    }
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   696
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   697
//video
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   698
    function renderVideoInfo(videoWrap, dataVideo){
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   699
    
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   700
        var tplVideo = getTemplate('#tpl-video-row');
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   701
        tplVideo = Mustache.render(tplVideo, dataVideo);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   702
        
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   703
        videoWrap.empty().append(tplVideo);
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   704
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   705
        videoWrap = videoWrap.find(".video-container");
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   706
        getVideoPlayer(dataVideo.url, videoWrap);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   707
     
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   708
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   709
    $('.popup').on('click', '.bibliotheque-video a', function(e){
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   710
        e.preventDefault();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   711
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   712
        var url = $(this).attr('data-url'),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   713
            title = $(this).attr('data-title'),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   714
            description = $(this).attr('data-description');
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   715
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   716
        currentAnnotation.content.url = url;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   717
        currentAnnotation.content.title = title;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   718
        currentAnnotation.content.description = description;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   719
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   720
        $('.popup').modal('hide');
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   721
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   722
        var videoWrap = $('#tab-annotation-'+currentAnnotation.id).find('.annotation-video-content');
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   723
        renderVideoInfo(videoWrap, currentAnnotation.content);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   724
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   725
        
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   726
    });
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   727
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   728
//diaporama
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   729
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   730
    //bibliotheque
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   731
    $('.popup').on('click', '.bibliotheque-image a', function(e){
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   732
        e.preventDefault();
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   733
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   734
        var url = $(this).attr('data-url'),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   735
            title = $(this).attr('data-title'),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   736
            description = $(this).attr('data-description'),
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   737
            image = {
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   738
                id : currentAnnotation.id,
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   739
                url : url,
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   740
                title : title,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   741
                description : description
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   742
            };
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   743
        currentAnnotation.content.images.push(image);
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   744
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   745
        var listDiaporama = $('#diaporama-'+currentAnnotation.id);
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   746
        addImageToDiaporama(listDiaporama, image);
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   747
        $('.popup').modal('hide'); 
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   748
    });
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   749
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   750
    function addImageToDiaporama(diaporama, dataView){
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   751
   
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   752
        var tplDiapo = getTemplate('#tpl-diaporama-row');
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   753
        tplDiapo = Mustache.render(tplDiapo, dataView);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   754
        diaporama.append(tplDiapo);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   755
        disabledBtnSortable(diaporama);
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   756
    
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   757
    };
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   758
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   759
    //edit title / description
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   760
    $('.tab-content').on('click', '.title-slideshow-row, .description-slideshow-row, .video-title-edit, .video-description-edit', function(){
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   761
        if($(this).find('input').length) return;
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   762
        var html = $(this).find('span').html(),
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   763
            inputType = $(this).attr('data-input'),
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   764
            name = $(this).attr('data-name'),
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   765
            input = $('<'+inputType+'>').attr('name', name);
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   766
        input.val(html);
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   767
        $(this).find('span').replaceWith(input);
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   768
        input.focus().keypress(function(e){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   769
            code = (e.keyCode ? e.keyCode : e.which);
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   770
            if (code == 13) $(this).blur();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   771
        });
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   772
    });
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   773
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   774
    $(document).on('blur', '.title-slideshow-row input, .description-slideshow-row textarea', function(){
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   775
        var newValue = $(this).val(),
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   776
            name = $(this).attr('name'),
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   777
            span = $('<span>').html(newValue),
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   778
            indexRow = $(this).parents('.row-image-diaporama').index();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   779
        $(this).replaceWith(span);
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   780
        currentAnnotation.content.images[indexRow][name] = newValue;
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   781
    });
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   782
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   783
    $(document).on('blur', '.video-title-edit input, .video-description-edit textarea', function(){
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   784
        var newValue = $(this).val(),
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   785
            name = $(this).attr('name'),
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   786
            span = $('<span>').html(newValue);
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   787
        $(this).replaceWith(span);
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   788
        currentAnnotation.content[name] = newValue;
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   789
    });
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
   790
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   791
    //bouton up / down
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   792
    $(document).on('click', '.ui-sortable .btn-sort', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   793
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   794
        var row = $(this).parents('tr.row-image-diaporama'),
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   795
            oldIndex = row.index(),
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   796
            listDiaporama = $(this).parents('.list-image-diaporama');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   797
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   798
        if($(this).hasClass('down'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   799
            row.insertAfter(row.next());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   800
        else if($(this).hasClass('up'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   801
            row.insertBefore(row.prev());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   802
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   803
        var newIndex = row.index();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   804
        currentAnnotation.content.images.move(oldIndex, newIndex);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   805
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   806
        disabledBtnSortable(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   807
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   808
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   809
    $('.tab-content').on('click','.btn-delete-image', function(e){
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   810
        e.preventDefault();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   811
        var rowImage = $(this).parents('tr.row-image-diaporama'),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   812
            index = rowImage.index();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   813
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   814
        rowImage.remove();
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   815
        currentAnnotation.content.images.splice(index, 1);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   816
    });
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   817
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   818
    function disabledBtnSortable(listDiaporama){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   819
        listDiaporama.find('.btn-sort.disabled').removeClass('disabled');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   820
        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
   821
        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
   822
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   823
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   824
    
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   825
//links
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   826
$('.tab-content').on('click', '.add-link', function(e){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   827
    e.preventDefault();
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   828
    var tbody = $(this).parents('tfoot').siblings('tbody');
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   829
    addLinkRow(tbody);
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   830
});
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   831
$('.tab-content').on('click', '.delete-link', function(e){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   832
    e.preventDefault();
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   833
    var row = $(this).parents('tr'),
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   834
        tbody = $(this).parents('tbody');
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   835
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   836
    row.remove();
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   837
    updateLinks(tbody);
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   838
});
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   839
function addLinkRow(tbody, dataView){
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   840
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   841
        //head commun à tous
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   842
        var tplLinkRow = getTemplate('#tpl-links-row');
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   843
        var output = Mustache.render(tplLinkRow, dataView);
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   844
        tbody.append(output);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   845
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   846
}
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   847
$('.tab-content').on('keyup', '.links-rows input', function(e){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   848
    var tbody = $(this).parents('.links-rows');
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   849
    updateLinks(tbody);   
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   850
});
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   851
function updateLinks(tbody){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   852
    links = new Array();
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   853
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   854
    $.each(tbody.find('tr'), function(k, v){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   855
        var urlLink = $(v).find('.url-link').val(),
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   856
            titleLink = $(v).find('.title-link').val(),
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   857
            link = {
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
   858
                url : urlLink,
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   859
                title : titleLink
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   860
            };
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   861
            links.push(link);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   862
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   863
    });
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   864
    currentAnnotation.content.links = links;
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
   865
}
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   866
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   867
//annotation audio
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   868
$('.tab-content').on('keyup', '.annotation-audio-content input, .annotation-audio-content textarea', function(){
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   869
    var name = $(this).attr('name'),
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   870
        value = $(this).val();
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   871
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   872
    currentAnnotation.content[name] = value;
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   873
});
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   874
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   875
//annotation slideshow
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   876
$('.tab-content').on('click', '.btn-autostart', function(){
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   877
    var autostart = $(this).attr('data-autostart');
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   878
    if(autostart == "true"){ autostart = true;}
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   879
    else {autostart = false;}
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   880
    currentAnnotation.content.autostart = autostart;
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   881
});
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   882
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   883
$('.tab-content').on('change keyup', '.config-diaporama input[name=duration]', function(){
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   884
    var value = $(this).val();
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   885
    if(!isNaN(value)){
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   886
        currentAnnotation.content.slideduration = value * 1000;
51
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   887
    }
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   888
});
c7ece022eca8 template slideshow
Anthony Ly <anthonyly.com@gmail.com>
parents: 49
diff changeset
   889
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   890
//save project
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   891
$('.btn-save-project').bind('click', function(e){
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   892
    $('.btn-apercu-projet').removeClass('disabled');
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   893
84
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   894
    console.log(myProject.serialize().length);
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   895
/*
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   896
    $.ajax({
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   897
        type: "POST",
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   898
        url: urlSaveProject,
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   899
        data: myProject.serialize(),
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   900
        contentType: "application/cinelab",
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   901
        headers: {
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   902
            //"X-CSRFToken": options.csrf_token
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   903
        },
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   904
        success: function(data, status, request){
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   905
            console.log('data : ', data);
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   906
            console.log('status : ', status);
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   907
            console.log('request : ', request);
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   908
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   909
        },
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   910
        error: function(jqXHR, textStatus, errorThrown){
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   911
            alert(gettext("Server error\nYour hashcut couldn't be published"));
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   912
        }
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   913
    });
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   914
*/
9f481f896e60 save project beta
Anthony Ly <anthonyly.com@gmail.com>
parents: 83
diff changeset
   915
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   916
});
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   917
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   918
function disabledPreview(){
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   919
    if(!$('.btn-apercu-projet').hasClass('disabled'))$('.btn-apercu-projet').addClass('disabled');
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   920
}
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   921
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   922
//################ config
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   923
//tagit
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   924
function onTagItChange(e, ui) {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   925
    var tagitType = $(this).attr('data-type'), 
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   926
        value = $(this).val();
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   927
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   928
    if(tagitType == 'chapter'){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   929
        var idChapter = $(this).parents('form').attr('data-chapter-id');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   930
        currentChapter.keywords = value.split(',');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   931
        $('#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
   932
    }else{
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   933
        currentAnnotation.keywords = value.split(',');
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   934
    }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   935
    
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   936
}
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   937
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   938
var tagitParam = {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   939
    afterTagRemoved : onTagItChange,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   940
    afterTagAdded : onTagItChange
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   941
}
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   942
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   943
//CLEditor annotation > text (wysiwyg)
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   944
//http://premiumsoftware.net/cleditor/docs/GettingStarted.html#optionalParameters
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   945
var wysiwygConfig = {
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
   946
    width:        450, 
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   947
    height:       250, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   948
    controls:     "bold italic underline strikethrough | font size " +
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   949
                    "style | color highlight removeformat | bullets numbering | source",
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   950
    fonts:        "Arial,Arial Black,Comic Sans MS,Courier New,Narrow,Garamond," +
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   951
                    "Georgia,Impact,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   952
    sizes:        "1,2,3,4,5,6,7",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   953
    styles:       [["Paragraph", "<p>"], ["Header 1", "<h1>"], ["Header 2", "<h2>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   954
                    ["Header 3", "<h3>"],  ["Header 4","<h4>"],  ["Header 5","<h5>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   955
                    ["Header 6","<h6>"]],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   956
    docType:      '<!DOCTYPE HTML>',
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   957
    bodyStyle:    "margin:0; font-family: 'Helvetica Neue',​Helvetica,​Arial,​sans-serif;",
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   958
    updateTextArea : function(text){
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   959
        currentAnnotation.content.text = text;
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   960
        return text;
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   961
    },
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   962
    updateFrame: function(text){
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
   963
        currentAnnotation.content.text = text;
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   964
        return text;
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
   965
    }
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   966
};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   967
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   968
//slider
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   969
function configSlider(data){
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   970
    return {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   971
        range: true,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   972
        values: [ data.begin.milliseconds, data.end.milliseconds ],
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   973
        min: 0,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   974
        max: myMedia.duration.milliseconds,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   975
        slide: function( event, ui ) {
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   976
            
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   977
            data.setBegin(ui.values[0]);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   978
            data.setEnd(ui.values[1]);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   979
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   980
            var idSlider = $(this).attr('data-id'),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   981
                wTimeline = $('.timeline-annotations').width(),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   982
                annotationTimeline = $('#annotation-timeline-'+ data.id),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   983
                width = Math.floor(data.getDuration() * wTimeline / myMedia.duration),
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   984
                left = Math.floor(data.begin * wTimeline / myMedia.duration);
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   985
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   986
            $( '#'+ idSlider +'-begin' ).html(data.begin.toString());
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   987
            $( '#'+ idSlider +'-duration' ).html(data.getDuration().toString());
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   988
            $( '#'+ idSlider +'-end' ).html(data.end.toString());
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   989
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   990
            annotationTimeline.css({
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   991
                left : left,
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   992
                width :width
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
   993
            });
70
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   994
        },
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   995
        start : function(){
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   996
            var idSlider = $(this).attr('data-id'),
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   997
                annotationTimeline = $('#annotation-timeline-'+ data.id);
2542e988f80c no-prevent class on bibliotheque
Anthony Ly <anthonyly.com@gmail.com>
parents: 62
diff changeset
   998
            annotationTimeline.css('z-index',100);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
   999
        },
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
  1000
        stop : function(){
79
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
  1001
            renderAnnotation();
5dfa74fcec4b show current annotation edit in timeline
Anthony Ly <anthonyly.com@gmail.com>
parents: 74
diff changeset
  1002
            refreshAnnotationDisplay(myMedia.getCurrentTime());
34
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
  1003
        }
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
  1004
    };
e3a17ec94cd8 edition annotation first part
Anthony Ly <anthonyly.com@gmail.com>
parents: 28
diff changeset
  1005
}
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
  1006
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
  1007
//init annotation content data
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1008
function getContentAnnotationByType(type){
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1009
    var content;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1010
    switch(type){
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1011
        case 'audio':
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1012
            content = {
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1013
                mimetype : "application/x-ldt-audio",
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1014
                url : "",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1015
                embedcode : ""
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1016
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1017
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1018
        case 'video':
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1019
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1020
                mimetype : "application/x-ldt-video",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1021
                url : "",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1022
                embedcode : ""
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1023
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1024
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1025
        case 'text': 
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1026
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1027
                mimetype : "application/x-ldt-text",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1028
                markup : "html",
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
  1029
                text : "azerty"
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1030
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1031
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1032
        case 'links': 
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1033
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1034
                mimetype : "application/x-ldt-links",
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1035
                links : []
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1036
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1037
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1038
        case 'slideshow': 
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1039
            content = {
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1040
                mimetype : "application/x-ldt-slideshow",
83
8f954a0d6031 edit title and descripttion video
Anthony Ly <anthonyly.com@gmail.com>
parents: 79
diff changeset
  1041
                slideduration : 1000,
42
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1042
                autostart : false,
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1043
                images : []
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1044
            };
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1045
            break;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1046
    }
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1047
    return content;
95e64fb6730f modal delete url
Anthony Ly <anthonyly.com@gmail.com>
parents: 38
diff changeset
  1048
}//getContentAnnotationByType
38
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
  1049
0e6e631718ee scrollbar modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 36
diff changeset
  1050
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1051
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1052
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
  1053
//test
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
  1054
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1055
$('.log-annotations').bind('click', function(e){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1056
    e.preventDefault();
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
  1057
    console.log(annotations.length + ' annotations', annotations);
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1058
});
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1059
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1060
$('.log-chapters').bind('click', function(e){
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1061
    e.preventDefault();
49
06627f23df42 show data annotations on tab open
Anthony Ly <anthonyly.com@gmail.com>
parents: 48
diff changeset
  1062
    console.log(chapters.length + ' chapitres',chapters);
48
827066f875c7 annotation links
Anthony Ly <anthonyly.com@gmail.com>
parents: 42
diff changeset
  1063
});
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
  1064
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1065
});//ready
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1066
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
  1067
//Utilitaires
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1068
Array.prototype.move = function (old_index, new_index) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1069
    if (new_index >= this.length) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1070
        var k = new_index - this.length;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1071
        while ((k--) + 1) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1072
            this.push(undefined);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1073
        }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1074
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1075
    this.splice(new_index, 0, this.splice(old_index, 1)[0]);
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
  1076
    return this; 
58
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1077
};
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1078
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1079
function getVideoPlayer(src, videoWrap){
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1080
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1081
    var youtubeTemplate = _.template(
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1082
        '<iframe width="<%- width %>" height="<%- height %>" src="http://www.youtube.com/embed/<%- ytid %>?rel=0&autoplay=<%- autoplay %>" frameborder="0"></iframe>'
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1083
    );
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1084
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1085
    var htmlTemplate = _.template(
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1086
        '<<%- type %> width="<%- width %>" controls="true" autoplay="<%- autoplay %>" src="<%- src %>"/>'
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1087
    );
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1088
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1089
    var mediaW = 460,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1090
        mediaH = 345,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1091
        autoplay = false;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1092
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1093
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1094
    if (/^(https?:\/\/)?(www\.)?youtu\.?be/.test(src)) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1095
        var urlparts = src.split(/[?&]/g),
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1096
            ytid = "",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1097
            vtest = /^v=/;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1098
        urlparts.slice(1).forEach(function(p) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1099
            if (/^v=/.test(p)) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1100
                ytid = p.replace(vtest,"");
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1101
            }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1102
        });
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1103
        if (!ytid) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1104
            ytid = (urlparts[0].match(/[^\/]+$/) || [""])[0];
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1105
        }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1106
        videoWrap.html(youtubeTemplate({
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1107
            ytid: ytid,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1108
            width: mediaW,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1109
            height: mediaH,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1110
            autoplay: autoplay
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1111
        }));
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1112
        return;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1113
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1114
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1115
    if (/^(https?:\/\/)?(www\.)?vimeo/.test(src)) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1116
        $.ajax({
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1117
            url: "http://vimeo.com/api/oembed.json",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1118
            dataType: "jsonp",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1119
            data: {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1120
                width: mediaW,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1121
                height: mediaH,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1122
                url: src,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1123
                autoplay: autoplay,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1124
                color: "be4477",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1125
                portrait: false,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1126
                title: false,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1127
                byline: false
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1128
            },
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1129
            success: function(data) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1130
                videoWrap.html(data.html);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1131
            }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1132
        });
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1133
        return;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1134
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1135
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1136
    if (/^(https?:\/\/)?(www\.)?dailymotion/.test(src)) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1137
        $.ajax({
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1138
            url: "http://www.dailymotion.com/services/oembed",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1139
            dataType: "jsonp",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1140
            data: {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1141
                format: "json",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1142
                maxwidth: mediaW,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1143
                maxheight: mediaH,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1144
                url: src
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1145
            },
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1146
            success: function(data) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1147
                videoWrap.html(data.html);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1148
            }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1149
        });
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1150
        return;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1151
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1152
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1153
    if (/^(https?:\/\/)?(www\.)?soundcloud\.com/.test(src)) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1154
        $.ajax({
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1155
            url: "http://soundcloud.com/oembed",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1156
            dataType: "jsonp",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1157
            data: {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1158
                format: "js",
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1159
                show_comments: false,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1160
                auto_play: autoplay,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1161
                show_artwork: false,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1162
                url: src,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1163
                color: "63be6c"
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1164
            },
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1165
            success: function(data) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1166
                videoWrap.html(data.html);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1167
            }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1168
        });
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1169
        return;
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1170
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1171
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1172
    var extension = (src.match(/\.([\d\w]+)$/) || ["",""])[1],
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1173
        mimetype = 'video' + "/" + extension,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1174
        fallbacks = { "video/webm": "mp4", "video/mp4": "webm" },
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1175
        canPlay = document.createElement("video").canPlayType(mimetype);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1176
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1177
    if (!canPlay) {
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1178
        src = src.replace(/\.[\d\w]+$/,"." + fallbacks[mimetype]);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1179
    }
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1180
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1181
    console.log(mimetype, canPlay, src);
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1182
    
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1183
    videoWrap.html(htmlTemplate({
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1184
        type: 'video',
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1185
        src: src,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1186
        width: mediaW,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1187
        height: mediaH,
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1188
        autoplay: "" + autoplay
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1189
    }));
9e14b6f964fe update edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 55
diff changeset
  1190
                
62
42919bf5d4e1 template in edition
Anthony Ly <anthonyly.com@gmail.com>
parents: 58
diff changeset
  1191
}//getVideoPlayer