integration/js/tangle.js
changeset 28 a0a048ff33a1
parent 25 ab966883a458
child 63 55b26d1c32ef
equal deleted inserted replaced
25:ab966883a458 28:a0a048ff33a1
     4         tangleStartX,
     4         tangleStartX,
     5         tangleStartVal,
     5         tangleStartVal,
     6         tangleHasMoved;
     6         tangleHasMoved;
     7     
     7     
     8     $('.chapter-widget-info').on('mousedown', '.time-tangle', function(evt){
     8     $('.chapter-widget-info').on('mousedown', '.time-tangle', function(evt){
     9    // $(".time-tangle").mousedown(function(evt) {
       
    10 
       
    11         activeTangle = $(this);
     9         activeTangle = $(this);
    12         activeTangle.addClass("active");
    10         activeTangle.addClass("active");
    13         tangleStartVal = +activeTangle.attr("data-milliseconds");
    11         tangleStartVal = +activeTangle.attr("data-milliseconds");
    14         tangleStartX = evt.pageX;
    12         tangleStartX = evt.pageX;
    15         tangleHasMoved = false;
    13         tangleHasMoved = false;
    16         $(this).siblings(".time-tangle").addClass("deactivate");
    14         $(this).parents('td').siblings('td').find(".time-tangle").addClass("deactivate");
    17         return false;
    15         return false;
    18     });
    16     });
       
    17 
    19     $(document)
    18     $(document)
    20         .mousemove(function(evt) {
    19         .mousemove(function(evt) {
    21             if (activeTangle) {
    20             if (activeTangle) {
    22                 tangleHasMoved = true;
    21                 tangleHasMoved = true;
    23                 var newval = new IriSP.Model.Time(tangleMsPerPixel * (evt.pageX - tangleStartX) + tangleStartVal);
    22                 var newval = new IriSP.Model.Time(tangleMsPerPixel * (evt.pageX - tangleStartX) + tangleStartVal);
    25                 return false;
    24                 return false;
    26             }
    25             }
    27         })
    26         })
    28         .mouseup(function() {
    27         .mouseup(function() {
    29             if (activeTangle) {
    28             if (activeTangle) {
    30                 activeTangle.text(activeTangle.text().replace(/\.\d+$/,''));
       
    31                 $(".time-tangle").removeClass("active deactivate");
    29                 $(".time-tangle").removeClass("active deactivate");
    32                 activeTangle = undefined;
    30                 activeTangle = undefined;
    33             }
    31             }
    34         });
    32         });
       
    33 
       
    34     function updateRenderChapter(chapterData){
       
    35         var segment = $('.chapter-segments li#'+chapterData.id),
       
    36             wChapterSegmentWrap = $('.chapter-segments').width(),
       
    37             wSegmentNew = Math.floor(chapterData.getDuration() * wChapterSegmentWrap / myMedia.duration),
       
    38             row = $('#row-list-chapter-'+chapterData.id),
       
    39             form = ($('#form-chapter-edit-'+chapterData.id).length) ? $('#form-chapter-edit-'+chapterData.id) : false;
       
    40 
       
    41         segment.width(wSegmentNew);
       
    42 
       
    43         row.find('.begin').text(chapterData.begin);
       
    44         row.find('.duration').text(chapterData.getDuration());
       
    45         row.find('.end').text(chapterData.end);
       
    46 
       
    47         if(form){
       
    48             form.find('.begin').text(chapterData.begin);
       
    49             form.find('.begin').attr('data-milliseconds',chapterData.begin);
       
    50             form.find('.duration').text(chapterData.getDuration());
       
    51             form.find('.end').text(chapterData.end);
       
    52             form.find('.end').attr('data-milliseconds',chapterData.end);
       
    53         }
       
    54     }
       
    55 
       
    56     function updateChapterDuration(val, chapterBefore, chapterAfter){
       
    57         if (val<chapterAfter.end && val>chapterBefore.begin) {
       
    58             chapterAfter.setBegin(val);
       
    59             chapterBefore.setEnd(val);
       
    60 
       
    61             updateRenderChapter(chapterAfter);
       
    62             updateRenderChapter(chapterBefore);
       
    63         }
       
    64     }
       
    65 
       
    66     $('.chapter-widget-info').on('valuechange', '.tangle-start', function(evt, val){
       
    67         var indexChapter = _.indexOf(chapters, currentChapter);
       
    68         if(indexChapter == 0 || chapters.length<=1) return;
    35         
    69         
       
    70         var chapterBefore = chapters[indexChapter-1],
       
    71             chapterAfter = currentChapter;
       
    72 
       
    73         updateChapterDuration(val, chapterBefore, chapterAfter);
       
    74     });
       
    75 
       
    76     $('.chapter-widget-info').on('valuechange', '.tangle-end', function(evt, val){
       
    77         var indexChapter = _.indexOf(chapters, currentChapter);
       
    78         if(indexChapter == chapters.length-1 || chapters.length<=1) return;
       
    79         
       
    80         var chapterAfter = chapters[indexChapter+1],
       
    81             chapterBefore = currentChapter;
       
    82         
       
    83         updateChapterDuration(val, chapterBefore, chapterAfter);
       
    84     });
       
    85     /*
    36     $(".tangle-start")
    86     $(".tangle-start")
    37         .mouseup(function(evt) {
    87         .mouseup(function(evt) {
       
    88 
    38             if (!tangleHasMoved && currentMedia && currentSegment) {
    89             if (!tangleHasMoved && currentMedia && currentSegment) {
    39                 currentMedia.setCurrentTime(currentSegment.begin);
    90                 currentMedia.setCurrentTime(currentSegment.begin);
    40             }
    91             }
    41         })
    92         })
    42         .on("valuechange", function(evt, val) {
    93         .on("valuechange", function(evt, val) {
       
    94 
    43             if (currentMedia && currentSegment) {
    95             if (currentMedia && currentSegment) {
    44                 currentSegment.setBegin(val);
    96                 currentSegment.setBegin(val);
    45             }
    97             }
    46         });
    98         });
       
    99 
    47     $(".tangle-end")
   100     $(".tangle-end")
    48         .mouseup(function(evt) {
   101         .mouseup(function(evt) {
    49             if (!tangleHasMoved && currentMedia && currentSegment) {
   102             if (!tangleHasMoved && currentMedia && currentSegment) {
    50                 currentMedia.setCurrentTime(currentSegment.end);
   103                 currentMedia.setCurrentTime(currentSegment.end);
    51             }
   104             }
    57         });
   110         });
    58     $(".tangle-duration").on("valuechange", function(evt, val) {
   111     $(".tangle-duration").on("valuechange", function(evt, val) {
    59         if (currentMedia && currentSegment) {
   112         if (currentMedia && currentSegment) {
    60             currentSegment.setDuration(val);
   113             currentSegment.setDuration(val);
    61         }
   114         }
    62     });
   115        
       
   116     }); */