Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
e55ef0f
Introduce timeslider object
s1341 Nov 23, 2013
95310da
handlers dict needs to be in AuthorizedClient; cleanup
s1341 Nov 23, 2013
e6a426d
Initial UI classes, with working partial rendering
s1341 Nov 24, 2013
012cd18
forgot to add jquery.class plugin
s1341 Nov 25, 2013
57ed44f
Working slider with mouse and events
s1341 Nov 28, 2013
748b38f
Steppers/Play-pause now in CSS
s1341 Dec 2, 2013
788a59b
Split slider out to a separate file
s1341 Dec 5, 2013
2a63aa5
add revisioncache which is destined to replace broadcast_revisions
s1341 Dec 5, 2013
488c110
add missing require for jquery.class
s1341 Dec 5, 2013
a90cf74
wrong findPath function. corrected
s1341 Dec 5, 2013
30279e2
Fix typos, add Thread class
s1341 Dec 8, 2013
47a6c74
Add configurable interval
s1341 Dec 8, 2013
78eb0c7
Working changesetloader (no caching)
s1341 Dec 9, 2013
6526942
PadClient initial
s1341 Dec 10, 2013
8c96c4c
Spike of revision graph
s1341 Dec 10, 2013
e54d63d
Fix syntax errors
s1341 Dec 10, 2013
88971c1
add missing break
s1341 Dec 12, 2013
3d4b6a9
Cleanup code (jshint)
s1341 Dec 12, 2013
66c75e0
Missed one element
s1341 Dec 12, 2013
1eddedc
working revision/changeset graph
s1341 Dec 12, 2013
c634822
Fix reverse traversals
s1341 Dec 12, 2013
186efe0
Make the transition algo a little more accurate.
s1341 Dec 12, 2013
360bb55
Fix discontinuity detection in revision traversal
s1341 Dec 12, 2013
11146ce
Cleanup cruft. Start wiring things up
s1341 Dec 13, 2013
f49abe6
Cleanup
s1341 Dec 13, 2013
3013bab
More or less working goToRevision
s1341 Dec 14, 2013
eef0849
Minimal working UI wireup
s1341 Dec 16, 2013
676ff3f
Handle is only moved when triggered event is done.
s1341 Dec 16, 2013
b8591ed
Sliding now triggers goToRevision.
s1341 Dec 16, 2013
ccfb0e2
Change changesetLoader to run every 200ms:wq
s1341 Dec 16, 2013
ab9b55d
Play/Pause working.
s1341 Dec 16, 2013
14b2af4
Don't process clicks on steppers if disabled
s1341 Dec 16, 2013
541f0e5
Fix top of editorcontainer so that it isn't behind timeslider
s1341 Dec 16, 2013
13f4a71
Clicking steppers should pause playback
s1341 Dec 16, 2013
a5eced9
Allow compose or apply to be used in GoToRevision
s1341 Dec 17, 2013
275c26f
Cleanup; add getHeadRevision function to connection
s1341 Dec 17, 2013
1c6012b
Workaround for granularity issue.
s1341 Dec 17, 2013
ed3e88b
Real fix for the traversal/granularity bug.
s1341 Dec 17, 2013
3c0bd57
Implement authorinfo; split RevisionSlider out
s1341 Dec 20, 2013
805e492
Handle new author info and revisions
s1341 Dec 21, 2013
b4baba6
Fixed transition algo not incrementing start
s1341 Dec 22, 2013
d89babf
Handle clicking slider when playing
s1341 Dec 22, 2013
321aa05
Fix transition bug; add scrollIntoView.
s1341 Dec 22, 2013
39dc862
Logging verbose by class
s1341 Dec 24, 2013
f259481
Fix logging
s1341 Dec 24, 2013
9ee80c7
missing brace
s1341 Dec 24, 2013
aaf0283
Fix the bug causing the lineAssem assert
s1341 Dec 24, 2013
1060544
transition is now much clearer.
s1341 Dec 31, 2013
126c83f
Commit despite bug in requestChangesets
s1341 Dec 31, 2013
e64c589
added logging to assist in debugging
s1341 Dec 31, 2013
8e2e9d7
Simplify RevisionCache
marcelklehr Jan 26, 2014
88c97a9
Fix server-side revision numbering
marcelklehr Jan 26, 2014
6fb739f
Separate rev count for timeslider
marcelklehr Jan 26, 2014
3bfc9f3
Fix timesliders calcPath() to adhere to what's actually possible
marcelklehr Jan 26, 2014
0c15e0f
Timeslider: Prefetch the last 100 edges on all granularities
marcelklehr Jan 26, 2014
d3bb60d
Timeslider UI: Animate transitions smoothly
marcelklehr Jan 26, 2014
8b29cc0
Timeslider UI: Polish the timestamp and move it together with the handle
marcelklehr Jan 26, 2014
c3b8e45
Timeslider UI: Improve UX for slider handle
marcelklehr Jan 26, 2014
efbbd58
Timeslider: Display real-time changes in play mode
marcelklehr Jan 26, 2014
d500a0b
Timeslider: Smart display of authorship info
marcelklehr Jan 27, 2014
c0307bd
Timeslider: Fix calcPath()'s smart overshooting feature
marcelklehr Jan 28, 2014
04842d3
Timeslider: Don't crash if url rev hash is out of bounds
marcelklehr Jan 28, 2014
dd8d5e8
Timeslider: Enable exports per revision
marcelklehr Jan 28, 2014
d809959
Timeslider: Fix display of author colors
marcelklehr Jan 28, 2014
5d7ef56
Timeslider: Fix calcPath() again
marcelklehr Jan 28, 2014
a4de6bd
Timeslider: Compose changes before applying them to the DOM
marcelklehr Jan 28, 2014
94c8d63
Timeslider UI: Slow down handle movement if we're fetching changesets
marcelklehr Jan 28, 2014
8ae17ff
Timeslider UI: Move timestamp with handle, not with star
marcelklehr Jan 28, 2014
15f08b4
Timeslider: Don't compoese changes before applying them
marcelklehr Jan 28, 2014
10c7e81
resolve merges
JohnMcLear Nov 15, 2014
ad142d4
Merge branch 'develop' of github.com:ether/etherpad-lite into refacto…
JohnMcLear Nov 15, 2014
98e157e
comment out console logs
JohnMcLear Nov 15, 2014
6f48714
remove click test but still ensure date /time is right
JohnMcLear Nov 15, 2014
4cb3d16
ensure date/time updates
JohnMcLear Nov 15, 2014
1364ada
more test fixes
JohnMcLear Nov 15, 2014
0b46abb
rebase
JohnMcLear Nov 26, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/node/db/Pad.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@ Pad.prototype.getHeadRevisionNumber = function getHeadRevisionNumber() {
return this.head;
};

Pad.prototype.getHeadChangesetNumber = function getHeadChangesetNumber() {
return this.head+1;
};

Pad.prototype.getPublicStatus = function getPublicStatus() {
return this.publicStatus;
};
Expand Down
17 changes: 8 additions & 9 deletions src/node/handler/PadMessageHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -1116,6 +1116,7 @@ function handleClientReady(client, message)
"historicalAuthorData": historicalAuthorData,
"apool": apool,
"rev": pad.getHeadRevisionNumber(),
"lastCs": pad.getHeadChangesetNumber(),
"time": currentTime,
},
"colorPalette": authorManager.getColorPalette(),
Expand Down Expand Up @@ -1306,7 +1307,6 @@ function handleChangesetRequest(client, message)

var data = changesetInfo;
data.requestID = message.data.requestID;

client.json.send({type: "CHANGESET_REQ", data: data});
});
}
Expand Down Expand Up @@ -1338,16 +1338,16 @@ function getChangesetInfo(padId, startNum, endNum, granularity, callback)
{
if(ERR(err, callback)) return;
pad = _pad;
head_revision = pad.getHeadRevisionNumber();
head_revision = pad.getHeadChangesetNumber();
callback();
});
},
function(callback)
{
//calculate the last full endnum
var lastRev = pad.getHeadRevisionNumber();
if (endNum > lastRev+1) {
endNum = lastRev+1;
var lastRev = pad.getHeadChangesetNumber();
if (endNum > lastRev) {
endNum = lastRev;
}
endNum = Math.floor(endNum / granularity)*granularity;

Expand Down Expand Up @@ -1545,10 +1545,9 @@ function composePadChangesets(padId, startNum, endNum, callback)
function(callback)
{
var changesetsNeeded=[];

var headNum = pad.getHeadRevisionNumber();
if (endNum > headNum+1)
endNum = headNum+1;
var headNum = pad.getHeadChangesetNumber();
if (endNum > headNum)
endNum = headNum;
if (startNum < 0)
startNum = 0;
//create a array for all changesets, we will
Expand Down
132 changes: 126 additions & 6 deletions src/static/css/timeslider.css
Original file line number Diff line number Diff line change
@@ -1,7 +1,115 @@
/*
* slider handles (SliderHandle)
*/

.ui-slider-handle {
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
cursor: pointer;
position: absolute;
}

.ui-slider-handle-star {
background-image: url(../../static/img/star.png);
height: 16px;
top: 20px;
width: 15px;
}

.ui-slider-handle-handle {
background-image: url(../../static/img/crushed_current_location.png);
height: 61px;
left: 0;
top: -14px;
width: 13px;
}

/*
* Steppers
*/

.stepper {
background: url(../../static/img/stepper_buttons.png) 0 0 no-repeat;
height: 21px;
overflow: hidden;
position: absolute;
}
#leftstar {
background-position: 0 -44px;
right: 34px;
top: 8px;
width: 30px;
}
#rightstar {
background-position: -29px -44px;
right: 5px;
top: 8px;
width: 30px;
}
#leftstep:active {
background-position: 0 -22px;
right: 34px;
top: 20px;
width: 30px;
}
#leftstep {
background-position: 0 -66px;
right: 34px;
top: 20px;
width: 30px;
}
#rightstep:active {
background-position: -29px -22px;
right: 5px;
top: 20px;
width: 30px;
}
#rightstep {
background-position: -29px -66px;
right: 5px;
top: 20px;
width: 30px;
}

#playpause_button,
#playpause_button_icon {
height: 47px;
position: absolute;
width: 47px;
}
#playpause_button {
background-image: url(../../static/img/crushed_button_undepressed.png);
right: 77px;
top: 9px;
}
#playpause_button:active {
background-image: url(../../static/img/crushed_button_depressed.png);
right: 77px;
top: 9px;
}
#playpause_button_icon {
background-image: url(../../static/img/play.png);
left: 0;
top: 0;
}
.pause#playpause_button_icon {
background-image: url(../../static/img/pause.png)
}







#timeslider .slider-handle {
position: absolute;
}
#editorcontainerbox {
overflow: auto;
top: 40px;
position: static;
top: 120px;
position: absolute;
}
#padcontent {
font-size: 12px;
Expand Down Expand Up @@ -45,6 +153,7 @@
top: 1px;
width: 100%;
}

#ui-slider-handle {
-webkit-user-select: none;
-moz-user-select: none;
Expand All @@ -57,6 +166,7 @@
top: 0;
width: 13px;
}

#ui-slider-bar {
-webkit-user-select: none;
-moz-user-select: none;
Expand Down Expand Up @@ -159,6 +269,7 @@ stepper:active{
top: 40px;
width: 15px;
}
>>>>>>> e51ab2db249fea3f7ac1e64ffca576fb163703f3
#timeslider #timer {
background: linear-gradient(#F7F7F7, #F1F1F1 80%) repeat scroll 0% 0% transparent;
padding:2px;
Expand All @@ -170,6 +281,10 @@ stepper:active{
text-align: center;
top: 9px;
width: 122px;
background-color: #A9A9A9;
border: 1px solid #a8a8a8;
border-radius: 3px;
text-shadow: 0 0 3px #a5a5a5;
}
.topbarcenter,
#docbar {
Expand Down Expand Up @@ -217,6 +332,7 @@ stepper:active{
overflow: hidden;
padding-top: 3px;
width: 100%;
border-bottom: thin solid #cccccc;
}
.timeslider-bar #editbar {
border-bottom: none;
Expand All @@ -236,12 +352,16 @@ stepper:active{
z-index: 1;
}
#authorsList .author {
padding-left: 0.4em;
padding-right: 0.4em;
padding: 0 0.4em;
margin: 0 0.4em;
opacity: 0.6
}
#authorsList .author-anonymous {
padding-left: 0.6em;
padding-right: 0.6em;
padding: 0 0.1em;
}
#authorsList .author.highlighted {
box-shadow: 0 0 10px #fff;
opacity: 1.0;
}
#padeditor {
position: static
Expand Down
Loading