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 } |