Merge branch 'master' into rkh-pusher

Conflicts:
	public/javascripts/application.js
This commit is contained in:
Konstantin Haase 2012-09-23 02:33:58 +02:00
commit 8104c833f6
17 changed files with 67 additions and 97 deletions

View File

@ -20,7 +20,6 @@ input 'assets/javascripts' do
vendor/ansiparse.js
vendor/i18n.js
vendor/pusher.js
vendor/jquery.cookie.js
vendor/jquery.timeago.js
vendor/sc-routes.js
)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
assets/images/ui/to-top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 972 B

View File

@ -67,13 +67,3 @@ Travis.reopen
controller: @controller
view.appendTo(@get('rootElement') || 'body')
toggleSidebar: ->
$('body').toggleClass('maximized')
# TODO gotta force redraws here :/
element = $('<span></span>')
$('#top .profile').append(element)
Em.run.later (-> element.remove()), 10
element = $('<span></span>')
$('#repository').append(element)
Em.run.later (-> element.remove()), 10

View File

@ -4,12 +4,28 @@ Travis.reopen
@tickables = []
Travis.Ticker.create(target: this, interval: Travis.INTERVALS.sponsors)
@toggle() if localStorage?.getItem('travis.maximized')
@connectWorkers(Travis.Worker.find())
@connectQueues(Travis.QUEUES)
@connectSponsors('decks', Travis.Sponsor.decks(), 1)
@connectSponsors('links', Travis.Sponsor.links(), 6)
persist: ->
localStorage?.setItem('travis.maximized', @isMinimized())
isMinimized: ->
return $('body').hasClass('maximized');
toggle: ->
$('body').toggleClass('maximized')
@persist()
# TODO gotta force redraws here :/
element = $('<span></span>')
$('#top .profile').append(element)
Em.run.later (-> element.remove()), 10
connectSponsors: (name, sponsors, perPage) ->
controller = Travis.SponsorsController.create(perPage: perPage, content: sponsors)
viewClass = Em.View.extend(templateName: "sponsors/#{name}")

View File

@ -1,5 +1,6 @@
@Travis.Tailing = ->
$(window).scroll(@positionButton.bind(this))
@position = $(window).scrollTop()
$(window).scroll(@onScroll.bind(this))
this
$.extend Travis.Tailing.prototype,
@ -8,6 +9,7 @@ $.extend Travis.Tailing.prototype,
run: ->
@autoScroll()
@positionButton()
Ember.run.later(@run.bind(this), @options.timeout) if @active()
toggle: (event) ->
@ -31,6 +33,12 @@ $.extend Travis.Tailing.prototype,
winBottom = win.scrollTop() + win.height()
win.scrollTop(logBottom - win.height()) if logBottom - winBottom > 0
onScroll: ->
@positionButton()
position = $(window).scrollTop()
@stop() if position < @position
@position = position
positionButton: ->
tail = $('#tail')
return if tail.length is 0

View File

@ -12,6 +12,8 @@
<a {{bindAttr href="sponsor.url"}}>{{sponsor.name}}</a>
</p>
{{/if}}
<a href='#' class="to-top" {{action toTop}}>To top</a>
{{else}}
<div id="log" class="loading">
<span>Loading</span>

View File

@ -2,7 +2,7 @@
{{t layouts.application.fork_me}}
</a>
<div id="slider" {{action toggleSidebar target="Travis.app"}}>
<div id="slider" {{action toggle target="controller"}}>
<div class='icon'></div>&nbsp;
</div>

View File

@ -51,6 +51,9 @@
click: (event) ->
$(event.target).closest('.fold').toggleClass('open')
toTop: () ->
$(window).scrollTop(0)
jobBinding: 'context'
toggleTailing: (event) ->

View File

@ -1,40 +0,0 @@
/**
* jQuery Cookie plugin
*
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
jQuery.cookie = function (key, value, options) {
// key and at least value given, set cookie...
if (arguments.length > 1 && String(value) !== "[object Object]") {
options = jQuery.extend({}, options);
if (value === null || value === undefined) {
options.expires = -1;
}
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
value = String(value);
return (document.cookie = [
encodeURIComponent(key), '=',
options.raw ? value : encodeURIComponent(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// key and possibly options given, get cookie...
options = value || {};
var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};

View File

@ -40,7 +40,7 @@ body > div
// @include transition(width .1s ease-out)
$step: 12px
@for $i from 1 through 10
@for $i from 1 through 11
@media screen and (min-width: (1180px + $i * $step * 2))
body
background-position-x: ($left-width + $i * $step - 790px)

View File

@ -106,6 +106,14 @@ pre#log
#main
.sponsor
float: left
margin-top: 1px
margin-top: 0
color: #999
.to-top
float: right
margin-right: 2px
padding-right: 16px
color: #999
background: inline-image('ui/to-top.png') no-repeat right 6px

BIN
public/images/ui/to-top.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 972 B

File diff suppressed because one or more lines are too long

View File

@ -27564,46 +27564,6 @@ var _require=function(){var a;a=document.addEventListener?function(b,c){b.addEve
for(var h=0,i=b.length,g=0;g<i;g++)d(b[g],c)}}();(function(){var a=[],b=function(){Pusher.ready()};window.JSON==undefined&&a.push("http://js.pusherapp.com/1.6.4/json2");if(window.WebSocket==undefined){window.WEB_SOCKET_DISABLE_AUTO_INITIALIZATION=true;a.push("http://js.pusherapp.com/1.6.4/flashfallback");b=function(){FABridge.addInitializationCallback("webSocket",function(){Pusher.ready()});WebSocket.__initialize()}}a.length>0?_require(a,b):b()})();
/**
* jQuery Cookie plugin
*
* Copyright (c) 2010 Klaus Hartl (stilbuero.de)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
jQuery.cookie = function (key, value, options) {
// key and at least value given, set cookie...
if (arguments.length > 1 && String(value) !== "[object Object]") {
options = jQuery.extend({}, options);
if (value === null || value === undefined) {
options.expires = -1;
}
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
value = String(value);
return (document.cookie = [
encodeURIComponent(key), '=',
options.raw ? value : encodeURIComponent(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// key and possibly options given, get cookie...
options = value || {};
var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};
/*
* timeago: a jQuery plugin, version: 0.9.2 (2010-09-14)
* @requires jQuery v1.2.3 or later

View File

@ -1983,6 +1983,22 @@ body > div {
margin-left: 410px;
}
}
@media screen and (min-width: 1444px) {
/* line 45, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/layout.sass */
body {
background-position-x: -408px;
}
/* line 47, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/layout.sass */
#left {
width: 382px;
}
/* line 49, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/layout.sass */
#main {
margin-left: 422px;
}
}
@media screen and (max-width: 1400px) {
/* line 53, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/layout.sass */
#left .duration_label {
@ -3326,9 +3342,17 @@ pre#log .fold.open {
/* line 107, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/main/log.sass */
#main .sponsor {
float: left;
margin-top: 1px;
margin-top: 0;
color: #999999;
}
/* line 111, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/main/log.sass */
#main .to-top {
float: right;
margin-right: 2px;
padding-right: 16px;
color: #999999;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAFCAMAAABLuo1aAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDU5NUQ3RTBGQTE0MTFFMUEzNzhDNjZGM0QyMzVGNUIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDU5NUQ3RTFGQTE0MTFFMUEzNzhDNjZGM0QyMzVGNUIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0NTk1RDdERUZBMTQxMUUxQTM3OEM2NkYzRDIzNUY1QiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0NTk1RDdERkZBMTQxMUUxQTM3OEM2NkYzRDIzNUY1QiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgZMSV4AAAAGUExURcLCwv///7ZovVQAAAACdFJOU/8A5bcwSgAAACBJREFUeNpiYAQCBgYwCWaB2QwQFojNAGUxIBhAABBgAAM5ABUYaN+yAAAAAElFTkSuQmCC') no-repeat right 6px;
}
/* line 3, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/_mixins/ansi.sass */
.ansi .bold {
font-weight: bold;