integration/js/edition.js
author Anthony Ly <anthonyly.com@gmail.com>
Tue, 21 May 2013 16:40:05 +0200
changeset 22 0e02c3a28491
parent 21 abd04f346dbe
child 23 2a3159ee4ed0
permissions -rw-r--r--
chapter widget
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
     1
$(function(){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     2
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     3
var global = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     4
    diaporama : null,
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
     5
    idAnnotation : null,
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
     6
    colors : ['#f39c12', '#2ecc71', '#3498db', '#9b59b6',  
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
     7
    '#f1c40f', '#e67e22', '#e74c3c', '#ecf0f1', 
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
     8
    '#16a085', '#27ae60', '#2980b9', '#8e44ad', '#2c3e50',
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
     9
    '#f39c12', '#d35400', '#c0392b', '#bdc3c7', '#7f8c8d']
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    10
},
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    11
currentChapter = null,
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    12
chapters = [],
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
    13
annotations = [];
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    14
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    15
myProject.onLoad(function() {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    17
    $(".project-title").text(myProject.title);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    18
    
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    19
    myMedia = myProject.getCurrentMedia();
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    20
    
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    21
    loadChapters();
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    22
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    23
    IriSP.htmlPlayer(
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    24
        myMedia,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    25
        $(".main-video"),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    26
        {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    27
            width: 460,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    28
            height: 345,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    29
            controls: true,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    30
            autostart: true
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    31
        }
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    32
    );
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
    myMedia.on("timeupdate", function(t) {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    35
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    36
        //curseur chapitre
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    37
        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
    38
            pos = wContainer * t / myMedia.duration,
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    39
            btnCutChapter = $('.btn-cut-chapter'),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    40
            wBtnCutChapter = btnCutChapter.outerWidth();
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    41
            
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    42
        $(".indicateur-chapter").css("left",pos);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    43
        if(pos+wBtnCutChapter>wContainer){
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    44
            btnCutChapter.css("left",(pos - wBtnCutChapter));
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    45
        }else{
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    46
            btnCutChapter.css("left",pos);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    47
        }
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    48
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    49
        /*
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    50
        //chapitre edit
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    51
        var formChapter = $('.form-chapter-edit'),
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    52
            inputBeginChapter = formChapter.find('input[name=begin]'),
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    53
            inputDurationChapter = formChapter.find('input[name=duration]'),
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    54
            inputEndChapter = formChapter.find('input[name=end]'),
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    55
            viewBeginChapter = formChapter.find('.begin'),
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    56
            viewDurationChapter = formChapter.find('.duration'),
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    57
            viewEndChapter = formChapter.find('.end'),
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    58
            timeBegin = 0,
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    59
            timeEnd = t.milliseconds,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    60
            timeDuration = timeEnd - timeBegin;
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    61
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    62
        inputBeginChapter.val(timeBegin);
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    63
        inputEndChapter.val(timeEnd);
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    64
        inputDurationChapter.val(timeDuration);
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    65
        viewBeginChapter.html(millisecondsToString(timeBegin));
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    66
        viewDurationChapter.html(millisecondsToString(timeDuration));
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
    67
        viewEndChapter.html(millisecondsToString(timeEnd));
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    68
        */
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
    69
    });//timeupdate
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    70
    
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    71
});//myProject.onLoad
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    72
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    73
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    74
//modal
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    75
    $(document).on('click', 'a.open-modal', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    76
        var diaporama = $(this).attr('data-diaporama'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    77
            idAnnotation = $(this).attr('data-id');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    78
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    79
        if(diaporama !== undefined){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    80
            global.diaporama = diaporama;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    81
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    82
        if(idAnnotation !== undefined){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    83
            global.idAnnotation = idAnnotation;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    84
        }
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    85
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    86
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    87
//edition image
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    88
    $('.popup').on('change', '#media-type-select', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    89
        var typeImage = $(this).val();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    90
        $('.input-image-url, .input-image-upload').hide();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    91
        $('.input-image-'+typeImage).show();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    92
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
    93
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    94
//bibliotheque
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    95
    //video
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    96
    $('.popup').on('click', '.bibliotheque-video a', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    97
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    98
        $('.popup').modal('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    99
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   100
            var videoWrap = $('#'+global.idAnnotation).find('.annotation-video-content'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   101
                tplVideo = $(templates).filter('#tpl-video-row').html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   102
            videoWrap.empty().append(tplVideo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   103
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   104
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   105
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   106
    //image
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   107
    $('.popup').on('click', '.bibliotheque-image a', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   108
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   109
        var listDiaporama = $('#'+global.diaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   110
        addImageToDiaporama(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   111
        $('.popup').modal('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   112
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   113
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   114
    $(document).on('click','.btn-delete-annotation', function(e){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   115
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   116
        //si c'est une annotation et que la tab est ouverte, on la ferme
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   117
        var type = $(this).attr('data-type');
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   118
     
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   119
        var idAnnotation = $(this).attr('data-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   120
        $('a[href=#annotation-'+idAnnotation+']').closest('li').remove();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   121
        $('.tab-content #annotation'+idAnnotation).remove();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   122
        $('#tab-list-annotation').tab('show');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   123
        
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   124
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   125
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   126
    //confirmation suppression
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   127
    $("#modal-confirm").on('click', '#btn-delete-modal', function(e){
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   128
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   129
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   130
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   131
//title-editor
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   132
$('.project-title-editor ._popover').bind('click',function(e){e.preventDefault()});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   133
    $('.project-title-editor ._popover').popover({
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   134
        html : true,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   135
        content : function(){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   136
            var previousValue = $('.project-title').text(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   137
                formInput = 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   138
                    '<form action="#" class="project-title-editor-form">'+
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   139
                        '<input type="text" class="project-title-editor-input" value="'+previousValue+'">'+
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   140
                    '</form>';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   141
            return formInput;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   142
        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   143
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   144
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   145
    $('body').on('click', function (e) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   146
        $('._popover').each(function () {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   147
            if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   148
                $(this).popover('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   149
            }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   150
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   151
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   152
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   153
    $('body').on('submit', '.project-title-editor-form', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   154
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   155
        $('._popover').popover('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   156
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   157
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   158
    $(document).on('keyup', '.project-title-editor-input', function() {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   159
        $('.project-title').html($(this).val());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   160
    });
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   161
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
   162
//--chapter
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   163
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   164
//edit
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   165
    $('.list-chapter-wrap').on('click', '.btn-edit-chapter', function(e){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   166
        e.preventDefault();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   167
        var idChapter = $(this).attr('data-chapter-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   168
        loadFormChapter(idChapter);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   169
        currentChapter = _.find(chapters, function(c){ return c.id == idChapter; });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   170
    });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   171
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   172
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   173
    $('.chapter-widget-info').on('keyup', 'input[name=title], textarea', function(e){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   174
        var name = $(this).attr('name'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   175
            value = $(this).val();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   176
        currentChapter[name] = value;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   177
        if(name == 'title'){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   178
            var idChapter = $(this).parents('form').attr('data-chapter-id');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   179
            $('.chapter-segments').find('#'+idChapter).text(value);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   180
            $('#row-list-chapter-'+idChapter).find('td:first').text(value);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
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
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   184
    function onTagItChange(e, ui) {
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   185
        var idChapter = $(this).parents('form').attr('data-chapter-id'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   186
            value = $('input[name=tags]').val();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   187
        currentChapter.tags = value;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   188
        $('#row-list-chapter-'+idChapter).find('.list-chapter-tags').text(value);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   189
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   190
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   191
    var tagitParam = {
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   192
        afterTagRemoved : onTagItChange,
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   193
        afterTagAdded : onTagItChange
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   194
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   195
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   196
    function loadFormChapter(idChapter){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   197
        var chapterData = _.find(chapters, function(c){ return c.id == idChapter; }),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   198
            chapterWrap = $('.chapter-widget-info');
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   199
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   200
        currentChapter = chapterData;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   201
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   202
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   203
            var tpl = $(templates).filter('#tpl-chapter-edit').html();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   204
            tpl = Mustache.render(tpl, chapterData);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   205
            chapterWrap.empty().append(tpl);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   206
            chapterWrap.find('.tag-it').tagit(tagitParam);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   207
        });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   208
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   209
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   210
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   211
//supprimer
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   212
$('.list-chapter-wrap').on('click', '.btn-delete-chapter', function(e){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   213
    e.preventDefault();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   214
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   215
    if(chapters.length == 1){alert('Le projet doit contenir au moins un chapitre.'); return;}
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   216
    var idChapter = $(this).attr('data-chapter-id'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   217
        chapter = _.find(chapters, function(c){ return c.id == idChapter; }),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   218
        indexChapter = _.indexOf(chapters, chapter),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   219
        chapterModify;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   220
    if(indexChapter == 0){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   221
        chapterModify = chapters[1];
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   222
        chapterModify.begin = 0;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   223
        chapterModify.duration = chapterModify.end;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   224
    }else{
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   225
        chapterModify = chapters[indexChapter-1];
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   226
        chapterModify.end = chapter.end;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   227
        chapterModify.duration = chapterModify.end - chapterModify.begin;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   228
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   229
    chapters = _(chapters).reject(function(c) { return c.id == idChapter; });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   230
    renderChapter();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   231
    //si le formulaire est visible
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   232
    if($('#form-chapter-edit-'+idChapter).length){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   233
        $('#form-chapter-edit-'+idChapter).remove();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   234
    }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   235
});
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   236
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   237
//nouveau chapitre
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   238
    $('.chapter-widget').on('click', '.btn-cut-chapter', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   239
        e.preventDefault();
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   240
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   241
        var uniqId = 'id' + (new Date()).getTime();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   242
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   243
        var title = 'New',
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   244
            tags = 'tag',
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   245
            begin = myMedia.currentTime.milliseconds,
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   246
            end = organizeNewChapter(begin),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   247
            duration = end - begin,
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   248
            description = '',
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   249
            id = uniqId;
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   250
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   251
        var dataChapter = {
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   252
            title : title,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   253
            tags : tags,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   254
            begin : begin,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   255
            duration : duration,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   256
            end : end,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   257
            description : description,
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   258
            color : global.colors[chapters.length],
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   259
            id : uniqId
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   260
        };
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   261
      
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   262
        chapters.push(dataChapter);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   263
        renderChapter();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   264
        loadFormChapter(id);
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   265
    });
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   266
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   267
    function organizeNewChapter(beginNew){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   268
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   269
        var returnEnd;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   270
        $.each(chapters, function(k, v){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   271
            var begin = v.begin,
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   272
                end = v.end;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   273
            if(beginNew>=begin && beginNew<=end){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   274
                v.end = beginNew;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   275
                v.duration = v.end - v.begin;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   276
                returnEnd = end;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   277
            }
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   278
        });
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   279
        return returnEnd;
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   280
    }
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
    function renderChapter(){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   283
        var chapterSegmentWrap = $('.chapter-segments'),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   284
            wChapterSegmentWrap = chapterSegmentWrap.width(),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   285
            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
   286
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   287
        chapters = _.sortBy(chapters, function(c){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   288
            return c.begin;
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   289
        });
18
16b482c153fd update spin url pages
Anthony Ly <anthonyly.com@gmail.com>
parents: 16
diff changeset
   290
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   291
        chapterSegmentWrap.empty();
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   292
        chapterList.empty();
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   293
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   294
        $.each(chapters, function(k, v){
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   295
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   296
            //segments
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   297
                color = global.colors[k],
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   298
                width = Math.floor(v.duration * wChapterSegmentWrap / myMedia.duration.milliseconds),
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   299
                segment = $('<li>'+v.title+'</li>').css({
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   300
                    width : width,
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   301
                    backgroundColor : v.color
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   302
                }).attr('id', v.id);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   303
    
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   304
            chapterSegmentWrap.append(segment);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   305
 
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   306
            //liste
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   307
            $.get('template.html', function(templates){
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   308
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   309
                v.beginString = millisecondsToString(v.begin);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   310
                v.durationString = millisecondsToString(v.duration);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   311
                v.endString = millisecondsToString(v.end);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   312
             
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   313
                var tplChapterRow = $(templates).filter('#tpl-chapter-row').html();
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   314
                tplChapterRow = Mustache.render(tplChapterRow, v);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   315
                chapterList.append(tplChapterRow);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   316
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   317
            });
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   318
        });
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   319
    }
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   320
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   321
//init
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   322
    function loadChapters(){//nouveau projet, 1 chapitre
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   323
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   324
        var uniqId = 'id' + (new Date()).getTime();
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   325
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   326
        var title = 'chapitre 1',
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   327
            tags = 'tag1,tag2',
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   328
            begin = 0,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   329
            duration = myMedia.duration.milliseconds,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   330
            end = myMedia.duration.milliseconds,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   331
            description = 'description du chapitre 1',
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   332
            id = uniqId;
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   333
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   334
        var dataChapter = {
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   335
            title : title,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   336
            tags : tags,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   337
            begin : begin,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   338
            duration : duration,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   339
            end : end,
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   340
            description : description,
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   341
            color : global.colors[chapters.length],
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   342
            id : id
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   343
        };
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   344
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   345
        chapters.push(dataChapter);
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   346
        renderChapter();
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   347
    }
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   348
22
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   349
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   350
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   351
0e02c3a28491 chapter widget
Anthony Ly <anthonyly.com@gmail.com>
parents: 21
diff changeset
   352
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   353
    //edit annotation
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   354
    $('#list-annotations').on('click', 'a.btn-edit-annotation', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   355
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   356
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   357
        var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   358
        //si il est déjà ouvert
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   359
        if($('#annotation-'+idAnnotation).length){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   360
            $('a[href=#annotation-'+idAnnotation+']').tab('show');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   361
        }else{
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   362
            var typeAnnotation = $(this).attr('data-type'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   363
                data = {id:idAnnotation};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   364
            openNewTab(typeAnnotation, data);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   365
        } 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   366
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   367
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   368
//tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   369
    $('#annotation-tab').on('click', 'a', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   370
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   371
        $(this).tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   372
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   373
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   374
    //ouvrir tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   375
    $(document).on('click', '.open-tab', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   376
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   377
        var type = $(this).attr('data-type');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   378
        var data = $(this).attr('data-data'); // à définir
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   379
        openNewTab(type);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   380
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   381
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   382
    function openNewTab(type, data){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   383
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   384
        var uniqId = 'id' + (new Date()).getTime(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   385
            idAnnotation = (data !== undefined) ? data.id : uniqId,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   386
            tabContent = $('<div class="tab-pane" id="annotation-'+idAnnotation+'"></div>'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   387
            iconTab;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   388
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   389
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   390
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   391
            //head commun à tous
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   392
            var view = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   393
                    titre : "un titre mustache",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   394
                    id : uniqId
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   395
                };
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   396
            var tplHead = $(templates).filter('#tpl-head').html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   397
            var output = Mustache.render(tplHead, view);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   398
            $(tabContent).append(output);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   399
            $(tabContent).find(".slider-duration").slider(configSlider);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   400
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   401
            //type
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   402
            var viewType = {id : uniqId};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   403
            var tpl = $(templates).filter('#tpl-'+type).html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   404
            tpl = Mustache.render(tpl, viewType);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   405
            $(tabContent).append(tpl);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   406
            $('.tab-content').append(tabContent);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   407
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   408
            //particularité selon type
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   409
            switch(type){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   410
                case 'video': iconTab = 'film';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   411
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   412
                case 'text': 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   413
                    iconTab = 'align-left';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   414
                    $(tabContent).find('.wysiwyg').cleditor(wysiwygConfig);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   415
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   416
                case 'html': iconTab = 'link';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   417
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   418
                case 'diaporama': iconTab = 'picture';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   419
                    $(tabContent).find('.number-spin').spin(spinParam);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   420
                    $(tabContent).find('.ui-sortable').sortable({
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   421
                        stop : function(event, ui){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   422
                            disabledBtnSortable($(this));
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   423
                        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   424
                    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   425
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   426
            }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   427
            $(".nav-tabs li:last-child").after('<li><a href="#annotation-'+idAnnotation+'"><i class="icon-'+iconTab+'"></i> New <span class="close-tab">&times;</span></a></li>');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   428
            $('a[href=#annotation-'+idAnnotation+']').tab('show');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   429
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   430
    }//openNewTab()
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   431
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   432
    //fermer tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   433
    $('#annotation-tab').on('click', 'span.close-tab', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   434
        e.preventDefault();e.stopPropagation();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   435
        var idTab = $(this).parents('a').attr('href');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   436
        $(this).closest('li').remove();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   437
        $('.tab-content '+idTab).remove();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   438
        $('#tab-list-annotation').tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   439
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   440
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   441
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   442
//diaporama
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   443
    function addImageToDiaporama(diaporama){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   444
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   445
            var tplDiapo = $(templates).filter('#tpl-diaporama-row').html(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   446
                uniqId = 'id' + (new Date()).getTime(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   447
                viewDiapo = { ridid : uniqId};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   448
            tplDiapo = Mustache.render(tplDiapo, viewDiapo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   449
            diaporama.append(tplDiapo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   450
            disabledBtnSortable(diaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   451
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   452
    };
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   453
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   454
    //bouton up / down
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   455
    $(document).on('click', '.ui-sortable .btn-sort', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   456
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   457
        var row = $(this).parents('tr.row-image-diaporama'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   458
            listDiaporama = $(this).parents('.list-image-diaporama');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   459
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   460
        if($(this).hasClass('down'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   461
            row.insertAfter(row.next());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   462
        else if($(this).hasClass('up'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   463
            row.insertBefore(row.prev());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   464
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   465
        disabledBtnSortable(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   466
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   467
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   468
    function disabledBtnSortable(listDiaporama){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   469
        listDiaporama.find('.btn-sort.disabled').removeClass('disabled');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   470
        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
   471
        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
   472
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   473
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   474
    
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   475
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   476
//sauvegarder annotation
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   477
$('.tab-content').on('click', '.btn-save-annotation', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   478
    e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   479
    var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   480
});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   481
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   482
//annotation html
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   483
$('.tab-content').on('click', '.btn-html-apercu', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   484
    e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   485
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   486
    var apercuWrap = $(this).parents('.edit-annotation-html').find('.html-apercu'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   487
        htmlTextarea = $(this).parents('.edit-annotation-html').find('textarea');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   488
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   489
    apercuWrap.empty().html(htmlTextarea.val());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   490
});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   491
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   492
//annotation > diaporama (spin)
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   493
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   494
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   495
//config
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   496
//CLEditor annotation > text (wysiwyg)
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   497
//http://premiumsoftware.net/cleditor/docs/GettingStarted.html#optionalParameters
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   498
var wysiwygConfig = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   499
    width:        456, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   500
    height:       250, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   501
    controls:     "bold italic underline strikethrough | font size " +
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   502
                    "style | color highlight removeformat | bullets numbering | outdent ",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   503
    fonts:        "Arial,Arial Black,Comic Sans MS,Courier New,Narrow,Garamond," +
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   504
                    "Georgia,Impact,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   505
    sizes:        "1,2,3,4,5,6,7",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   506
    styles:       [["Paragraph", "<p>"], ["Header 1", "<h1>"], ["Header 2", "<h2>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   507
                    ["Header 3", "<h3>"],  ["Header 4","<h4>"],  ["Header 5","<h5>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   508
                    ["Header 6","<h6>"]],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   509
    docType:      '<!DOCTYPE HTML>',
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   510
    bodyStyle:    "margin:0; font-family: 'Helvetica Neue',​Helvetica,​Arial,​sans-serif;"
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   511
};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   512
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   513
//slider
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   514
var configSlider = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   515
    range: true,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   516
    values: [ 0, 1*60*1000 ],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   517
    min: 0,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   518
    max: 10*60*1000,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   519
    slide: function( event, ui ) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   520
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   521
        var debutString = millisecondsToString(ui.values[0]);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   522
        var endString = millisecondsToString(ui.values[1]);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   523
        var durationString = millisecondsToString(ui.values[1] - ui.values[0]);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   524
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   525
        var idSlider = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   526
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   527
        $( '#'+ idSlider +'-begin' ).html(debutString);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   528
        $( '#'+ idSlider +'-duration' ).html(durationString);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   529
        $( '#'+ idSlider +'-end' ).html(endString);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   530
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   531
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   532
};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   533
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   534
//milliseconds To 12h12m12s
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   535
function millisecondsToString(milliseconds) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   536
    var oneHour = 3600000;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   537
    var oneMinute = 60000;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   538
    var oneSecond = 1000;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   539
    var seconds = 0;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   540
    var minutes = 0;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   541
    var hours = 0;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   542
    var result;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   543
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   544
    if (milliseconds >= oneHour) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   545
        hours = Math.floor(milliseconds / oneHour);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   546
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   547
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   548
    milliseconds = hours > 0 ? (milliseconds - hours * oneHour) : milliseconds;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   549
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   550
    if (milliseconds >= oneMinute) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   551
        minutes = Math.floor(milliseconds / oneMinute);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   552
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   553
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   554
    milliseconds = minutes > 0 ? (milliseconds - minutes * oneMinute) : milliseconds;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   555
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   556
    if (milliseconds >= oneSecond) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   557
        seconds = Math.floor(milliseconds / oneSecond);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   558
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   559
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   560
    milliseconds = seconds > 0 ? (milliseconds - seconds * oneSecond) : milliseconds;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   561
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   562
    if (hours > 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   563
        result = (hours > 9 ? hours : "0" + hours) + "h";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   564
    } else {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   565
        result = "";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   566
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   567
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   568
    if (minutes > 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   569
        result += (minutes > 9 ? minutes : "0" + minutes) + "m";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   570
    } else {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   571
        result += "00m";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   572
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   573
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   574
    if (seconds > 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   575
        result += (seconds > 9 ? seconds : "0" + seconds) + "s";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   576
    } else {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   577
        result += "00s";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   578
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   579
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   580
    return result;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   581
}
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   582
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   583
//test
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   584
$(".wysiwyg").cleditor(wysiwygConfig);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   585
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   586
$('.number-spin').spin(spinParam);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   587
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   588
disabledBtnSortable($('.ui-sortable'))
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   589
$('.ui-sortable').sortable({
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   590
    stop : function(event, ui){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   591
        disabledBtnSortable($(this));
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   592
    }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   593
});
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   594
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   595
$('.slider-duration').slider(configSlider);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   596
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   597
$('#annotation-tab a:last-child').tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   598
21
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   599
$(".tag-it").tagit();
abd04f346dbe delete row on enter key press in modal
Anthony Ly <anthonyly.com@gmail.com>
parents: 18
diff changeset
   600
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   601
});//ready