integration/js/edition.js
author Anthony Ly <anthonyly.com@gmail.com>
Thu, 16 May 2013 17:42:41 +0200
changeset 16 c66274d0d850
parent 9 e3d551eda5a6
child 18 16b482c153fd
permissions -rw-r--r--
url plugins on html
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,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
     5
    idAnnotation : null
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
     6
},
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
     7
chapitres = {},
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
     8
annotations = {};
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
     9
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    10
//onLoad
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    11
myProject.onLoad(function() {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    12
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    13
    $(".project-title").text(myProject.title);
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
    myMedia = myProject.getCurrentMedia();
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
    IriSP.htmlPlayer(
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    18
        myMedia,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    19
        $(".main-video"),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    20
        {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    21
            width: 460,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    22
            height: 345,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    23
            controls: true,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    24
            autostart: true
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    25
        }
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
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    28
    myMedia.on("timeupdate", function(t) {
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    29
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    30
        //curseur chapitre
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    31
        var pos = $(".chapitre-cut-wrap").width() * t / myMedia.duration,
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    32
            wContainer = $('.chapitre-cut-wrap').width(),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    33
            btnCutChapter = $('.btn-cut-chapter'),
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    34
            wBtnCutChapter = btnCutChapter.outerWidth();
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
        $(".indicateur-chapter").css("left",pos);
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    37
        if(pos+wBtnCutChapter>wContainer){
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    38
            btnCutChapter.css("left",(pos - wBtnCutChapter));
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    39
        }else{
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    40
            btnCutChapter.css("left",pos);
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
            
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    43
    });
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    44
    
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    45
});//myProject.onLoad
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
    46
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    47
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    48
//modal
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    49
    $(document).on('click', 'a.open-modal', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    50
        var diaporama = $(this).attr('data-diaporama'),
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    51
            idAnnotation = $(this).attr('data-id');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    52
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    53
        if(diaporama !== undefined){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    54
            global.diaporama = diaporama;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    55
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    56
        if(idAnnotation !== undefined){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    57
            global.idAnnotation = idAnnotation;
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    58
        }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
    59
    })
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    60
//edition image
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    61
    $('.popup').on('change', '#media-type-select', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    62
        var typeImage = $(this).val();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    63
        $('.input-image-url, .input-image-upload').hide();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    64
        $('.input-image-'+typeImage).show();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    65
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    66
//bibliotheque
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    67
    //video
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    68
    $('.popup').on('click', '.bibliotheque-video a', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    69
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    70
        $('.popup').modal('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    71
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    72
            var videoWrap = $('#'+global.idAnnotation).find('.annotation-video-content'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    73
                tplVideo = $(templates).filter('#tpl-video-row').html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    74
            videoWrap.empty().append(tplVideo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    75
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    76
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    77
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    78
    //image
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    79
    $('.popup').on('click', '.bibliotheque-image a', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    80
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    81
        var listDiaporama = $('#'+global.diaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    82
        addImageToDiaporama(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    83
        $('.popup').modal('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    84
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    85
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    86
    $(document).on('click','.btn-delete', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    87
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    88
        //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
    89
        var type = $(this).attr('data-type');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    90
        if(type == 'annotation'){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    91
            var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    92
            $('a[href=#annotation-'+idAnnotation+']').closest('li').remove();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    93
            $('.tab-content #annotation'+idAnnotation).remove();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    94
            $('#tab-list-annotation').tab('show');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    95
        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    96
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    97
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    98
    //confirmation suppression
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
    99
    $("#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
   100
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   101
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   102
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   103
//title-editor
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   104
$('.project-title-editor ._popover').bind('click',function(e){e.preventDefault()});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   105
    $('.project-title-editor ._popover').popover({
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   106
        html : true,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   107
        content : function(){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   108
            var previousValue = $('.project-title').text(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   109
                formInput = 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   110
                    '<form action="#" class="project-title-editor-form">'+
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   111
                        '<input type="text" class="project-title-editor-input" value="'+previousValue+'">'+
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   112
                    '</form>';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   113
            return formInput;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   114
        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   115
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   116
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   117
    $('body').on('click', function (e) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   118
        $('._popover').each(function () {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   119
            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
   120
                $(this).popover('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   121
            }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   122
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   123
    });
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
    $('body').on('submit', '.project-title-editor-form', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   126
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   127
        $('._popover').popover('hide');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   128
    });
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
    $(document).on('keyup', '.project-title-editor-input', function() {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   131
        $('.project-title').html($(this).val());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   132
    });
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   133
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   134
//chapter
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   135
    $('.list-chapter-wrap').on('click', '.edit-chapter', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   136
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   137
        var viewChapter = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   138
            titre : 'titre du chapitre',
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   139
            tags : 'tag 1, tag 2, tag 3',
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   140
            description : 'lorem ipsum'
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   141
        }
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
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   144
            var tpl = $(templates).filter('#tpl-chapter-edit').html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   145
            var tpl = Mustache.render(tpl, viewChapter);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   146
            $('.form-chapter-edit').empty().append(tpl);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   147
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   148
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   149
    //nouveau chapitre
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   150
    $('.chapter-widget').on('click', '.btn-cut-chapter', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   151
        e.preventDefault();
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   152
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   153
        var uniqId = 'id' + (new Date()).getTime();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   154
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   155
            var viewChapterRow = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   156
                    id : uniqId
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
            var tpl = $(templates).filter('#tpl-chapter-row').html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   159
            var tpl = Mustache.render(tpl, viewChapterRow);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   160
            $('.list-chapter-rows-wrap').append(tpl);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   161
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   162
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   163
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   164
    
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   165
    //edit annotation
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   166
    $('#list-annotations').on('click', 'a.btn-edit-annotation', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   167
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   168
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   169
        var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   170
        //si il est déjà ouvert
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   171
        if($('#annotation-'+idAnnotation).length){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   172
            $('a[href=#annotation-'+idAnnotation+']').tab('show');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   173
        }else{
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   174
            var typeAnnotation = $(this).attr('data-type'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   175
                data = {id:idAnnotation};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   176
            openNewTab(typeAnnotation, data);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   177
        } 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   178
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   179
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   180
//tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   181
    $('#annotation-tab').on('click', 'a', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   182
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   183
        $(this).tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   184
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   185
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   186
    //ouvrir tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   187
    $(document).on('click', '.open-tab', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   188
        e.preventDefault();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   189
        var type = $(this).attr('data-type');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   190
        var data = $(this).attr('data-data'); // à définir
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   191
        openNewTab(type);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   192
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   193
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   194
    function openNewTab(type, data){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   195
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   196
        var uniqId = 'id' + (new Date()).getTime(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   197
            idAnnotation = (data !== undefined) ? data.id : uniqId,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   198
            tabContent = $('<div class="tab-pane" id="annotation-'+idAnnotation+'"></div>'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   199
            iconTab;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   200
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   201
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
            //head commun à tous
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   204
            var view = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   205
                    titre : "un titre mustache",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   206
                    id : uniqId
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   207
                };
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   208
            var tplHead = $(templates).filter('#tpl-head').html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   209
            var output = Mustache.render(tplHead, view);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   210
            $(tabContent).append(output);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   211
            $(tabContent).find(".slider-duration").slider(configSlider);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   212
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   213
            //type
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   214
            var viewType = {id : uniqId};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   215
            var tpl = $(templates).filter('#tpl-'+type).html();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   216
            tpl = Mustache.render(tpl, viewType);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   217
            $(tabContent).append(tpl);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   218
            $('.tab-content').append(tabContent);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   219
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   220
            //particularité selon type
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   221
            switch(type){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   222
                case 'video': iconTab = 'film';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   223
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   224
                case 'text': 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   225
                    iconTab = 'align-left';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   226
                    $(tabContent).find('.wysiwyg').cleditor(wysiwygConfig);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   227
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   228
                case 'html': iconTab = 'link';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   229
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   230
                case 'diaporama': iconTab = 'picture';
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   231
                    $(tabContent).find('.number-spin').spin(spinParam);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   232
                    $(tabContent).find('.ui-sortable').sortable({
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   233
                        stop : function(event, ui){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   234
                            disabledBtnSortable($(this));
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   235
                        }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   236
                    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   237
                    break;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   238
            }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   239
            $(".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
   240
            $('a[href=#annotation-'+idAnnotation+']').tab('show');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   241
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   242
    }//openNewTab()
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   243
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   244
    //fermer tab
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   245
    $('#annotation-tab').on('click', 'span.close-tab', function(e){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   246
        e.preventDefault();e.stopPropagation();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   247
        var idTab = $(this).parents('a').attr('href');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   248
        $(this).closest('li').remove();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   249
        $('.tab-content '+idTab).remove();
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   250
        $('#tab-list-annotation').tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   251
    });
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   252
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   253
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   254
//diaporama
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   255
    function addImageToDiaporama(diaporama){
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   256
        $.get('template.html', function(templates){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   257
            var tplDiapo = $(templates).filter('#tpl-diaporama-row').html(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   258
                uniqId = 'id' + (new Date()).getTime(),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   259
                viewDiapo = { ridid : uniqId};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   260
            tplDiapo = Mustache.render(tplDiapo, viewDiapo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   261
            diaporama.append(tplDiapo);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   262
            disabledBtnSortable(diaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   263
        });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   264
    };
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   265
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   266
    //bouton up / down
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   267
    $(document).on('click', '.ui-sortable .btn-sort', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   268
        e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   269
        var row = $(this).parents('tr.row-image-diaporama'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   270
            listDiaporama = $(this).parents('.list-image-diaporama');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   271
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   272
        if($(this).hasClass('down'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   273
            row.insertAfter(row.next());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   274
        else if($(this).hasClass('up'))
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   275
            row.insertBefore(row.prev());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   276
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   277
        disabledBtnSortable(listDiaporama);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   278
    });
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   279
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   280
    function disabledBtnSortable(listDiaporama){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   281
        listDiaporama.find('.btn-sort.disabled').removeClass('disabled');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   282
        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
   283
        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
   284
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   285
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   286
    
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   287
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   288
//sauvegarder annotation
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   289
$('.tab-content').on('click', '.btn-save-annotation', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   290
    e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   291
    var idAnnotation = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   292
});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   293
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   294
//annotation html
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   295
$('.tab-content').on('click', '.btn-html-apercu', function(e){
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   296
    e.preventDefault();
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   297
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   298
    var apercuWrap = $(this).parents('.edit-annotation-html').find('.html-apercu'),
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   299
        htmlTextarea = $(this).parents('.edit-annotation-html').find('textarea');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   300
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   301
    apercuWrap.empty().html(htmlTextarea.val());
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   302
});
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   303
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   304
//annotation > diaporama (spin)
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   305
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   306
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   307
//config
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   308
//CLEditor annotation > text (wysiwyg)
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   309
//http://premiumsoftware.net/cleditor/docs/GettingStarted.html#optionalParameters
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   310
var wysiwygConfig = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   311
    width:        456, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   312
    height:       250, 
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   313
    controls:     "bold italic underline strikethrough | font size " +
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   314
                    "style | color highlight removeformat | bullets numbering | outdent ",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   315
    fonts:        "Arial,Arial Black,Comic Sans MS,Courier New,Narrow,Garamond," +
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   316
                    "Georgia,Impact,Sans Serif,Serif,Tahoma,Trebuchet MS,Verdana",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   317
    sizes:        "1,2,3,4,5,6,7",
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   318
    styles:       [["Paragraph", "<p>"], ["Header 1", "<h1>"], ["Header 2", "<h2>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   319
                    ["Header 3", "<h3>"],  ["Header 4","<h4>"],  ["Header 5","<h5>"],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   320
                    ["Header 6","<h6>"]],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   321
    docType:      '<!DOCTYPE HTML>',
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   322
    bodyStyle:    "margin:0; font-family: 'Helvetica Neue',​Helvetica,​Arial,​sans-serif;"
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   323
};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   324
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   325
//slider
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   326
var configSlider = {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   327
    range: true,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   328
    values: [ 0, 1*60*1000 ],
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   329
    min: 0,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   330
    max: 10*60*1000,
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   331
    slide: function( event, ui ) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   332
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   333
        var debutString = millisecondsToString(ui.values[0]);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   334
        var endString = millisecondsToString(ui.values[1]);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   335
        var durationString = millisecondsToString(ui.values[1] - ui.values[0]);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   336
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   337
        var idSlider = $(this).attr('data-id');
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   338
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   339
        $( '#'+ idSlider +'-begin' ).html(debutString);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   340
        $( '#'+ idSlider +'-duration' ).html(durationString);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   341
        $( '#'+ idSlider +'-end' ).html(endString);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   342
        
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   343
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   344
};
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   345
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   346
//milliseconds To 12h12m12s
6
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   347
function millisecondsToString(milliseconds) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   348
    var oneHour = 3600000;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   349
    var oneMinute = 60000;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   350
    var oneSecond = 1000;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   351
    var seconds = 0;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   352
    var minutes = 0;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   353
    var hours = 0;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   354
    var result;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   355
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   356
    if (milliseconds >= oneHour) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   357
        hours = Math.floor(milliseconds / oneHour);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   358
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   359
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   360
    milliseconds = hours > 0 ? (milliseconds - hours * oneHour) : milliseconds;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   361
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   362
    if (milliseconds >= oneMinute) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   363
        minutes = Math.floor(milliseconds / oneMinute);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   364
    }
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
    milliseconds = minutes > 0 ? (milliseconds - minutes * oneMinute) : milliseconds;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   367
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   368
    if (milliseconds >= oneSecond) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   369
        seconds = Math.floor(milliseconds / oneSecond);
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   370
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   371
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   372
    milliseconds = seconds > 0 ? (milliseconds - seconds * oneSecond) : milliseconds;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   373
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   374
    if (hours > 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   375
        result = (hours > 9 ? hours : "0" + hours) + "h";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   376
    } else {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   377
        result = "";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   378
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   379
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   380
    if (minutes > 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   381
        result += (minutes > 9 ? minutes : "0" + minutes) + "m";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   382
    } else {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   383
        result += "00m";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   384
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   385
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   386
    if (seconds > 0) {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   387
        result += (seconds > 9 ? seconds : "0" + seconds) + "s";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   388
    } else {
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   389
        result += "00s";
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   390
    }
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   391
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   392
    return result;
547b3ddedf7f organisation des fichiers
Anthony Ly <anthonyly.com@gmail.com>
parents:
diff changeset
   393
}
9
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   394
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   395
//test
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   396
$(".wysiwyg").cleditor(wysiwygConfig);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   397
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   398
$('.number-spin').spin(spinParam);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   399
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   400
disabledBtnSortable($('.ui-sortable'))
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   401
$('.ui-sortable').sortable({
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   402
    stop : function(event, ui){
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   403
        disabledBtnSortable($(this));
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   404
    }
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   405
});
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   406
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   407
$('.slider-duration').slider(configSlider);
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   408
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   409
$('#annotation-tab a:last-child').tab('show');
e3d551eda5a6 ajout de common.js
Anthony Ly <anthonyly.com@gmail.com>
parents: 6
diff changeset
   410
16
c66274d0d850 url plugins on html
Anthony Ly <anthonyly.com@gmail.com>
parents: 9
diff changeset
   411
});//ready