Merge branch 'master' into rkh-pusher
Conflicts: public/javascripts/application.js
This commit is contained in:
commit
8104c833f6
|
@ -20,7 +20,6 @@ input 'assets/javascripts' do
|
||||||
vendor/ansiparse.js
|
vendor/ansiparse.js
|
||||||
vendor/i18n.js
|
vendor/i18n.js
|
||||||
vendor/pusher.js
|
vendor/pusher.js
|
||||||
vendor/jquery.cookie.js
|
|
||||||
vendor/jquery.timeago.js
|
vendor/jquery.timeago.js
|
||||||
vendor/sc-routes.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
BIN
assets/images/ui/to-top.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 972 B |
|
@ -67,13 +67,3 @@ Travis.reopen
|
||||||
controller: @controller
|
controller: @controller
|
||||||
view.appendTo(@get('rootElement') || 'body')
|
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
|
|
||||||
|
|
||||||
|
|
|
@ -4,12 +4,28 @@ Travis.reopen
|
||||||
@tickables = []
|
@tickables = []
|
||||||
Travis.Ticker.create(target: this, interval: Travis.INTERVALS.sponsors)
|
Travis.Ticker.create(target: this, interval: Travis.INTERVALS.sponsors)
|
||||||
|
|
||||||
|
@toggle() if localStorage?.getItem('travis.maximized')
|
||||||
|
|
||||||
@connectWorkers(Travis.Worker.find())
|
@connectWorkers(Travis.Worker.find())
|
||||||
@connectQueues(Travis.QUEUES)
|
@connectQueues(Travis.QUEUES)
|
||||||
|
|
||||||
@connectSponsors('decks', Travis.Sponsor.decks(), 1)
|
@connectSponsors('decks', Travis.Sponsor.decks(), 1)
|
||||||
@connectSponsors('links', Travis.Sponsor.links(), 6)
|
@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) ->
|
connectSponsors: (name, sponsors, perPage) ->
|
||||||
controller = Travis.SponsorsController.create(perPage: perPage, content: sponsors)
|
controller = Travis.SponsorsController.create(perPage: perPage, content: sponsors)
|
||||||
viewClass = Em.View.extend(templateName: "sponsors/#{name}")
|
viewClass = Em.View.extend(templateName: "sponsors/#{name}")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
@Travis.Tailing = ->
|
@Travis.Tailing = ->
|
||||||
$(window).scroll(@positionButton.bind(this))
|
@position = $(window).scrollTop()
|
||||||
|
$(window).scroll(@onScroll.bind(this))
|
||||||
this
|
this
|
||||||
|
|
||||||
$.extend Travis.Tailing.prototype,
|
$.extend Travis.Tailing.prototype,
|
||||||
|
@ -8,6 +9,7 @@ $.extend Travis.Tailing.prototype,
|
||||||
|
|
||||||
run: ->
|
run: ->
|
||||||
@autoScroll()
|
@autoScroll()
|
||||||
|
@positionButton()
|
||||||
Ember.run.later(@run.bind(this), @options.timeout) if @active()
|
Ember.run.later(@run.bind(this), @options.timeout) if @active()
|
||||||
|
|
||||||
toggle: (event) ->
|
toggle: (event) ->
|
||||||
|
@ -31,6 +33,12 @@ $.extend Travis.Tailing.prototype,
|
||||||
winBottom = win.scrollTop() + win.height()
|
winBottom = win.scrollTop() + win.height()
|
||||||
win.scrollTop(logBottom - win.height()) if logBottom - winBottom > 0
|
win.scrollTop(logBottom - win.height()) if logBottom - winBottom > 0
|
||||||
|
|
||||||
|
onScroll: ->
|
||||||
|
@positionButton()
|
||||||
|
position = $(window).scrollTop()
|
||||||
|
@stop() if position < @position
|
||||||
|
@position = position
|
||||||
|
|
||||||
positionButton: ->
|
positionButton: ->
|
||||||
tail = $('#tail')
|
tail = $('#tail')
|
||||||
return if tail.length is 0
|
return if tail.length is 0
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
<a {{bindAttr href="sponsor.url"}}>{{sponsor.name}}</a>
|
<a {{bindAttr href="sponsor.url"}}>{{sponsor.name}}</a>
|
||||||
</p>
|
</p>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
<a href='#' class="to-top" {{action toTop}}>To top</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div id="log" class="loading">
|
<div id="log" class="loading">
|
||||||
<span>Loading</span>
|
<span>Loading</span>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
{{t layouts.application.fork_me}}
|
{{t layouts.application.fork_me}}
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<div id="slider" {{action toggleSidebar target="Travis.app"}}>
|
<div id="slider" {{action toggle target="controller"}}>
|
||||||
<div class='icon'></div>
|
<div class='icon'></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,9 @@
|
||||||
click: (event) ->
|
click: (event) ->
|
||||||
$(event.target).closest('.fold').toggleClass('open')
|
$(event.target).closest('.fold').toggleClass('open')
|
||||||
|
|
||||||
|
toTop: () ->
|
||||||
|
$(window).scrollTop(0)
|
||||||
|
|
||||||
jobBinding: 'context'
|
jobBinding: 'context'
|
||||||
|
|
||||||
toggleTailing: (event) ->
|
toggleTailing: (event) ->
|
||||||
|
|
40
assets/javascripts/vendor/jquery.cookie.js
vendored
40
assets/javascripts/vendor/jquery.cookie.js
vendored
|
@ -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;
|
|
||||||
};
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ body > div
|
||||||
// @include transition(width .1s ease-out)
|
// @include transition(width .1s ease-out)
|
||||||
|
|
||||||
$step: 12px
|
$step: 12px
|
||||||
@for $i from 1 through 10
|
@for $i from 1 through 11
|
||||||
@media screen and (min-width: (1180px + $i * $step * 2))
|
@media screen and (min-width: (1180px + $i * $step * 2))
|
||||||
body
|
body
|
||||||
background-position-x: ($left-width + $i * $step - 790px)
|
background-position-x: ($left-width + $i * $step - 790px)
|
||||||
|
|
|
@ -106,6 +106,14 @@ pre#log
|
||||||
#main
|
#main
|
||||||
.sponsor
|
.sponsor
|
||||||
float: left
|
float: left
|
||||||
margin-top: 1px
|
margin-top: 0
|
||||||
color: #999
|
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
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
|
@ -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()})();
|
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)
|
* timeago: a jQuery plugin, version: 0.9.2 (2010-09-14)
|
||||||
* @requires jQuery v1.2.3 or later
|
* @requires jQuery v1.2.3 or later
|
||||||
|
|
|
@ -1983,6 +1983,22 @@ body > div {
|
||||||
margin-left: 410px;
|
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) {
|
@media screen and (max-width: 1400px) {
|
||||||
/* line 53, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/layout.sass */
|
/* line 53, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/layout.sass */
|
||||||
#left .duration_label {
|
#left .duration_label {
|
||||||
|
@ -3326,9 +3342,17 @@ pre#log .fold.open {
|
||||||
/* line 107, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/main/log.sass */
|
/* line 107, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/main/log.sass */
|
||||||
#main .sponsor {
|
#main .sponsor {
|
||||||
float: left;
|
float: left;
|
||||||
margin-top: 1px;
|
margin-top: 0;
|
||||||
color: #999999;
|
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 */
|
/* line 3, /Users/konstantin/Workspace/travis-ember/assets/stylesheets/_mixins/ansi.sass */
|
||||||
.ansi .bold {
|
.ansi .bold {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user