More ember-cli compat in views

This commit is contained in:
Piotr Sarnacki 2015-02-02 12:16:31 +01:00
parent 3f3781459d
commit 5fd821d59e
33 changed files with 1432 additions and 398 deletions

View File

@ -1,6 +1,8 @@
Travis.ObjectTransform = DS.Transform.extend
Transform = DS.Transform.extend
deserialize: (serialized) ->
serialized
serialize: (deserialized) ->
deserialized
Travis.ObjectTransform = Transform

View File

@ -1,4 +1,4 @@
class Travis.LinesSelector
class LinesSelector
Location:
getHash: ->
window.location.hash
@ -71,3 +71,5 @@ class Travis.LinesSelector
first = match[1]
last = match[3] || match[1]
{first: first, last: last}
Travis.LinesSelector = LinesSelector

View File

@ -1,4 +1,4 @@
Travis.LogChunks = Em.ArrayProxy.extend
LogChunks = Ember.ArrayProxy.extend
timeout: 30000
init: ->
@ -80,3 +80,5 @@ Travis.LogChunks = Em.ArrayProxy.extend
Ember.run.once this, ->
@tryFinalizing()
@resetTimeout()
Travis.LogChunks = LogChunks

View File

@ -1,4 +1,4 @@
class Travis.LogFolder
class LogFolder
constructor: (@element) ->
@element.on 'click', '.fold', (event) =>
folder = @getFolderFromLine $(event.target)
@ -22,3 +22,5 @@ class Travis.LogFolder
getFolderFromLine: (line) ->
line.parent('.fold')
Travis.LogFolder = LogFolder

1075
assets/scripts/app/vendor/log.js vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
BasicView = Travis.BasicView
View = BasicView.extend
templateName: 'profile/tabs/user'
userBinding: 'controller.user'
gravatarUrl: (->
"#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=200&d=mm"
).property('user.gravatarId')
AccountsInfoView = View

View File

@ -0,0 +1,30 @@
accountUrl = Travis.Urls.account
View = Ember.CollectionView.extend
elementId: 'accounts'
accountBinding: 'content'
tagName: 'ul'
emptyView: Ember.View.extend
template: Ember.Handlebars.compile('<div class="loading"><span>Loading</span></div>')
itemViewClass: Ember.View.extend
accountBinding: 'content'
typeBinding: 'content.type'
selectedBinding: 'account.selected'
classNames: ['account']
classNameBindings: ['type', 'selected']
name: (->
@get('content.name') || @get('content.login')
).property('content.login', 'content.name')
urlAccount: (->
accountUrl(@get('account.login'))
).property('account.login')
click: ->
@get('controller').transitionToRoute("account", @get('account.login'))
AccountsListView = View

View File

@ -1,34 +0,0 @@
@Travis.reopen
ProfileAccountsView: Travis.BasicView.extend
tabBinding: 'controller.tab'
templateName: 'profile/accounts'
classAccounts: (->
'active' if @get('tab') == 'accounts'
).property('tab')
AccountsListView: Em.CollectionView.extend
elementId: 'accounts'
accountBinding: 'content'
tagName: 'ul'
emptyView: Ember.View.extend
template: Ember.Handlebars.compile('<div class="loading"><span>Loading</span></div>')
itemViewClass: Travis.BasicView.extend
accountBinding: 'content'
typeBinding: 'content.type'
selectedBinding: 'account.selected'
classNames: ['account']
classNameBindings: ['type', 'selected']
name: (->
@get('content.name') || @get('content.login')
).property('content.login', 'content.name')
urlAccount: (->
Travis.Urls.account(@get('account.login'))
).property('account.login')
click: ->
@get('controller').transitionToRoute("account", @get('account.login'))

View File

@ -1,4 +1,6 @@
Travis.reopen
AnnotationsView: Travis.BasicView.extend
templateName: 'annotations/list'
BasicView = Travis.BasicView
View = BasicView.extend
templateName: 'annotations/list'
Travis.AnnotationsView = View

View File

@ -1,2 +1,3 @@
Travis.reopen
AnnotationsView: Travis.BasicView.extend
View = Ember.View.extend()
Travis.AnnotationsView = View

View File

@ -1,17 +1,19 @@
Travis.reopen
ApplicationView: Travis.BasicView.extend
classNames: ['application']
click: (event) ->
# TODO: this solves the case of closing menus and popups,
# but I would like to rewrite it later, not sure how
# yet, but this does not seem optimal
targetAndParents = $(event.target).parents().andSelf()
if ! ( targetAndParents.hasClass('open-popup') || targetAndParents.hasClass('popup') )
@popupCloseAll()
BasicView = Travis.BasicView
# TODO: I needed to add second check to this conditional, because for some reason
# event.stopPropagation() in menu() function in RepoShowToolsView does
# not prevent calling following code
if ! targetAndParents.hasClass('menu') && !targetAndParents.is('#tools > a')
$('.menu').removeClass('display')
View = BasicView.extend
classNames: ['application']
click: (event) ->
# TODO: this solves the case of closing menus and popups,
# but I would like to rewrite it later, not sure how
# yet, but this does not seem optimal
targetAndParents = $(event.target).parents().andSelf()
if ! ( targetAndParents.hasClass('open-popup') || targetAndParents.hasClass('popup') )
@popupCloseAll()
# TODO: I needed to add second check to this conditional, because for some reason
# event.stopPropagation() in menu() function in RepoShowToolsView does
# not prevent calling following code
if ! targetAndParents.hasClass('menu') && !targetAndParents.is('#tools > a')
$('.menu').removeClass('display')
ApplicationView = View

View File

@ -1,12 +1,13 @@
colorForState = Travis.Helpers.colorForState
BasicView = Travis.BasicView
View = Travis.BasicView.extend
classNameBindings: ['color', 'loading']
buildBinding: 'controller.build'
loadingBinding: 'controller.loading'
View = BasicView.extend
classNameBindings: ['color', 'loading']
buildBinding: 'controller.build'
loadingBinding: 'controller.loading'
color: (->
colorForState(@get('build.state'))
).property('build.state')
color: (->
colorForState(@get('build.state'))
).property('build.state')
Travis.BuildView = View

View File

@ -1,8 +1,6 @@
require 'views/basic'
TravisView = Travis.BasicView
View = TravisView.extend
View = Ember.View.extend
layoutName: 'layouts/dashboard'
classNames: ['dashboard']

View File

@ -1,4 +1,6 @@
View = Travis.BasicView.extend
BasicView = Travis.BasicView
View = BasicView.extend
layoutName: 'layouts/simple'
Travis.FirstSyncView = View

View File

@ -0,0 +1,15 @@
BasicView = Travis.BasicView
View = BasicView.extend
tagName: 'li'
classNameBindings: ['type']
type: (->
@get('flash.type') || 'broadcast'
).property('flash.type')
actions:
close: ->
@get('controller').close(@get('flash'))
FlashItemView = View

View File

@ -1,17 +1,8 @@
@Travis.reopen
FlashView: Travis.BasicView.extend
classNames: ['flash']
tagName: 'ul'
templateName: 'layouts/flash'
BasicView = Travis.BasicView
FlashItemView: Travis.BasicView.extend
tagName: 'li'
classNameBindings: ['type']
View = BasicView.extend
classNames: ['flash']
tagName: 'ul'
templateName: 'layouts/flash'
type: (->
@get('flash.type') || 'broadcast'
).property('flash.type')
actions:
close: ->
@get('controller').close(@get('flash'))
Travis.FlashView = View

View File

@ -0,0 +1,12 @@
BasicView = Travis.BasicView
githubAdminUrl = Travis.Urls.githubAdmin
View = BasicView.extend
templateName: 'profile/tabs/hooks'
userBinding: 'controller.user'
urlGithubAdmin: (->
githubAdminUrl(@get('hook.slug'))
).property('hook.slug')
HooksView = View

View File

@ -1,11 +1,14 @@
View = Travis.BasicView.extend
colorForState = Travis.Helpers.colorForState
BasicView = Travis.BasicView
View = BasicView.extend
tagName: 'tr'
classNameBindings: ['color']
repoBinding: 'context.repo'
jobBinding: 'context'
color: (->
Travis.Helpers.colorForState(@get('job.state'))
colorForState(@get('job.state'))
).property('job.state')
Travis.JobsItemView = View

View File

@ -1,20 +0,0 @@
@Travis.reopen
ReposView: Travis.BasicView.extend
templateName: 'repos/list'
tabBinding: 'controller.tab'
classRecent: (->
'active' if @get('tab') == 'recent'
).property('tab')
classOwned: (->
classes = []
classes.push('active') if @get('tab') == 'owned'
classes.push('display') if @get('controller.currentUser')
classes.join(' ')
).property('tab', 'controller.currentUser')
classSearch: (->
'active' if @get('tab') == 'search'
).property('tab')

View File

@ -1,153 +1,35 @@
require 'log'
require 'utils/lines-selector'
require 'utils/log-folder'
BasicView = Travis.BasicView
Log.DEBUG = false
Log.LIMIT = 10000
config = ENV.config
Travis.reopen
LogView: Travis.BasicView.extend
templateName: 'jobs/log'
logBinding: 'job.log'
View = BasicView.extend
templateName: 'jobs/log'
logBinding: 'job.log'
didInsertElement: ->
@setupLog()
didInsertElement: ->
@setupLog()
logDidChange: (->
@setupLog()
).observes('log')
logDidChange: (->
@setupLog()
).observes('log')
logWillChange: (->
@teardownLog()
).observesBefore('log')
logWillChange: (->
@teardownLog()
).observesBefore('log')
willDestroyElement: ->
@teardownLog()
willDestroyElement: ->
@teardownLog()
teardownLog: ->
job = @get('job')
job.unsubscribe() if job
teardownLog: ->
job = @get('job')
job.unsubscribe() if job
setupLog: ->
job = @get('job')
if job
job.get('log').fetch()
job.subscribe()
setupLog: ->
job = @get('job')
if job
job.get('log').fetch()
job.subscribe()
PreView: Em.View.extend
templateName: 'jobs/pre'
logWillChange: (->
console.log 'log view: log will change' if Log.DEBUG
@teardownLog()
).observesBefore('log')
didInsertElement: ->
console.log 'log view: did insert' if Log.DEBUG
@_super.apply this, arguments
@createEngine()
willDestroyElement: ->
console.log 'log view: will destroy' if Log.DEBUG
@teardownLog()
versionDidChange: (->
@rerender() if @get('_state') == 'inDOM'
).observes('log.version')
logDidChange: (->
console.log 'log view: log did change: rerender' if Log.DEBUG
if @get('log')
@createEngine()
@rerender() if @get('_state') == 'inDOM'
).observes('log')
teardownLog: ->
if log = @get('log')
parts = log.get('parts')
parts.removeArrayObserver(@, didChange: 'partsDidChange', willChange: 'noop')
parts.destroy()
log.notifyPropertyChange('parts')
@lineSelector?.willDestroy()
createEngine: ->
if @get('log')
console.log 'log view: create engine' if Log.DEBUG
@scroll = new Log.Scroll beforeScroll: =>
@unfoldHighlight()
@engine = Log.create(limit: Log.LIMIT, listeners: [@scroll])
@logFolder = new Travis.LogFolder(@$().find('#log'))
@lineSelector = new Travis.LinesSelector(@$().find('#log'), @scroll, @logFolder)
@observeParts()
unfoldHighlight: ->
@lineSelector.unfoldLines()
observeParts: ->
if log = @get('log')
parts = log.get('parts')
parts.addArrayObserver(@, didChange: 'partsDidChange', willChange: 'noop')
parts = parts.slice(0)
@partsDidChange(parts, 0, null, parts.length)
partsDidChange: (parts, start, _, added) ->
console.log 'log view: parts did change' if Log.DEBUG
for part, i in parts.slice(start, start + added)
# console.log "limit in log view: #{@get('limited')}"
break if @get('limited')
@engine.set(part.number, part.content)
@propertyDidChange('limited')
limited: (->
@engine?.limit?.limited
).property()
plainTextLogUrl: (->
if id = @get('log.job.id')
url = Travis.Urls.plainTextLog(id)
if config.pro
url += "&access_token=#{@get('job.log.token')}"
url
).property('job.log.id', 'job.log.token')
actions:
toTop: () ->
$(window).scrollTop(0)
toggleTailing: ->
Travis.tailing.toggle()
@engine.autoCloseFold = !Travis.tailing.isActive()
event.preventDefault()
noop: -> # TODO required?
Log.Scroll = (options) ->
options ||= {}
@beforeScroll = options.beforeScroll
this
Log.Scroll.prototype = $.extend new Log.Listener,
insert: (log, data, pos) ->
@tryScroll() if @numbers
true
tryScroll: ->
if element = $("#log p:visible.highlight:first")
if @beforeScroll
@beforeScroll()
$('#main').scrollTop(0)
$('html, body').scrollTop(element.offset()?.top - (window.innerHeight / 3)) # weird, html works in chrome, body in firefox
# Log.Logger = ->
# Log.Logger.prototype = $.extend new Log.Listener,
# receive: (log, num, string) ->
# @log("rcv #{num} #{JSON.stringify(string)}")
# true
# insert: (log, element, pos) ->
# @log("ins #{element.id}, #{if pos.before then 'before' else 'after'}: #{pos.before || pos.after || '?'}, #{JSON.stringify(element)}")
# remove: (log, element) ->
# @log("rem #{element.id}")
# log: (line) ->
# console.log(line)
Travis.LogView = View

View File

@ -0,0 +1,113 @@
require 'utils/lines-selector'
require 'utils/log-folder'
config = ENV.config
plainTextLogUrl = Travis.Urls.plainTextLog
LogFolder = Travis.LogFolder
LinesSelector = Travis.LinesSelector
Log.Scroll = (options) ->
options ||= {}
@beforeScroll = options.beforeScroll
this
Log.Scroll.prototype = $.extend new Log.Listener,
insert: (log, data, pos) ->
@tryScroll() if @numbers
true
tryScroll: ->
if element = $("#log p:visible.highlight:first")
if @beforeScroll
@beforeScroll()
$('#main').scrollTop(0)
$('html, body').scrollTop(element.offset()?.top - (window.innerHeight / 3)) # weird, html works in chrome, body in firefox
View = Ember.View.extend
templateName: 'jobs/pre'
logWillChange: (->
console.log 'log view: log will change' if Log.DEBUG
@teardownLog()
).observesBefore('log')
didInsertElement: ->
console.log 'log view: did insert' if Log.DEBUG
@_super.apply this, arguments
@createEngine()
willDestroyElement: ->
console.log 'log view: will destroy' if Log.DEBUG
@teardownLog()
versionDidChange: (->
@rerender() if @get('_state') == 'inDOM'
).observes('log.version')
logDidChange: (->
console.log 'log view: log did change: rerender' if Log.DEBUG
if @get('log')
@createEngine()
@rerender() if @get('_state') == 'inDOM'
).observes('log')
teardownLog: ->
if log = @get('log')
parts = log.get('parts')
parts.removeArrayObserver(@, didChange: 'partsDidChange', willChange: 'noop')
parts.destroy()
log.notifyPropertyChange('parts')
@lineSelector?.willDestroy()
createEngine: ->
if @get('log')
console.log 'log view: create engine' if Log.DEBUG
@scroll = new Log.Scroll beforeScroll: =>
@unfoldHighlight()
@engine = Log.create(limit: Log.LIMIT, listeners: [@scroll])
@logFolder = new LogFolder(@$().find('#log'))
@lineSelector = new LinesSelector(@$().find('#log'), @scroll, @logFolder)
@observeParts()
unfoldHighlight: ->
@lineSelector.unfoldLines()
observeParts: ->
if log = @get('log')
parts = log.get('parts')
parts.addArrayObserver(@, didChange: 'partsDidChange', willChange: 'noop')
parts = parts.slice(0)
@partsDidChange(parts, 0, null, parts.length)
partsDidChange: (parts, start, _, added) ->
console.log 'log view: parts did change' if Log.DEBUG
for part, i in parts.slice(start, start + added)
# console.log "limit in log view: #{@get('limited')}"
break if @get('limited')
@engine.set(part.number, part.content)
@propertyDidChange('limited')
limited: (->
@engine?.limit?.limited
).property()
plainTextLogUrl: (->
if id = @get('log.job.id')
url = plainTextLogUrl(id)
if config.pro
url += "&access_token=#{@get('job.log.token')}"
url
).property('job.log.id', 'job.log.token')
actions:
toTop: () ->
$(window).scrollTop(0)
toggleTailing: ->
Travis.tailing.toggle()
@engine.autoCloseFold = !Travis.tailing.isActive()
event.preventDefault()
noop: -> # TODO required?
Travis.PreView = View

View File

@ -0,0 +1,11 @@
BasicView = Travis.BasicView
View = BasicView.extend
tabBinding: 'controller.tab'
templateName: 'profile/accounts'
classAccounts: (->
'active' if @get('tab') == 'accounts'
).property('tab')
ProfileAccountsView = View

View File

@ -0,0 +1,22 @@
BasicView = Travis.BasicView
View = BasicView.extend
templateName: 'profile/tabs'
tabBinding: 'controller.tab'
activate: ->
@get('controller').activate(event.target.name)
classHooks: (->
'active' if @get('tab') == 'hooks'
).property('tab')
classUser: (->
'active' if @get('tab') == 'user'
).property('tab')
displayUser: (->
@get('controller.account.login') == @get('controller.user.login')
).property('controller.account.login', 'controller.user.login')
ProfileTabsView = View

View File

@ -1,47 +1,15 @@
Travis.reopen
ProfileView: Travis.BasicView.extend
templateName: 'profile/show'
layoutName: 'layouts/profile'
classNames: ['profile-view']
accountBinding: 'controller.account'
subscribedBinding: 'account.subscribed'
educationBinding: 'account.education'
BasicView = Travis.BasicView
name: (->
@get('account.name') || @get('account.login')
).property('account.name', 'account.login')
View = BasicView.extend
templateName: 'profile/show'
layoutName: 'layouts/profile'
classNames: ['profile-view']
accountBinding: 'controller.account'
subscribedBinding: 'account.subscribed'
educationBinding: 'account.education'
ProfileTabsView: Travis.BasicView.extend
templateName: 'profile/tabs'
tabBinding: 'controller.tab'
name: (->
@get('account.name') || @get('account.login')
).property('account.name', 'account.login')
activate: ->
@get('controller').activate(event.target.name)
classHooks: (->
'active' if @get('tab') == 'hooks'
).property('tab')
classUser: (->
'active' if @get('tab') == 'user'
).property('tab')
displayUser: (->
@get('controller.account.login') == @get('controller.user.login')
).property('controller.account.login', 'controller.user.login')
HooksView: Travis.BasicView.extend
templateName: 'profile/tabs/hooks'
userBinding: 'controller.user'
urlGithubAdmin: (->
Travis.Urls.githubAdmin(@get('hook.slug'))
).property('hook.slug')
AccountsInfoView: Travis.BasicView.extend
templateName: 'profile/tabs/user'
userBinding: 'controller.user'
gravatarUrl: (->
"#{location.protocol}//www.gravatar.com/avatar/#{@get('user.gravatarId')}?s=200&d=mm"
).property('user.gravatarId')
ProfileView = View

View File

@ -1,8 +1,9 @@
statusImage = Travis.Urls.statusImage
StatusImagesView = Travis.StatusImagesView
config = ENV.config
BasicView = Travis.BasicView
View = Travis.BasicView.extend
View = BasicView.extend
reposBinding: 'controllers.repos'
repoBinding: 'controller.repo'
buildBinding: 'controller.build'
@ -23,11 +24,11 @@ View = Travis.BasicView.extend
statusImages: () ->
@popupCloseAll()
view = StatusImagesView.create(toolsView: this)
Travis.BasicView.currentPopupView = view
BasicView.currentPopupView = view
view.appendTo($('body'))
return false
ReposEmptyView: Travis.BasicView.extend
ReposEmptyView: BasicView.extend
template: (->
if config.pro
'pro/repos/show/empty'

View File

@ -1,6 +1,6 @@
colorForState = Travis.Helpers.colorForState
View = Em.CollectionView.extend
View = Ember.CollectionView.extend
elementId: 'repos'
tagName: 'ul'

View File

@ -1,3 +1,6 @@
@Travis.reopen
SigninView: Travis.BasicView.extend
templateName: 'auth/signin'
BasicView = Travis.BasicView
View = BasicView.extend
templateName: 'auth/signin'
Travis.SigninView = View

View File

@ -1,73 +0,0 @@
@Travis.reopen
StatsView: Travis.BasicView.extend
templateName: 'stats/show'
didInsertElement: ->
# @renderChart(config) for name, config of @CHARTS
renderChart: (config) ->
chart = new Highcharts.Chart(config)
@fetch config.source, (data) ->
stats = (config.map(stats) for stats in data.stats)
chart.series[0].setData(stats)
fetch: (url, callback) ->
$.ajax
type: 'GET'
url: url
accepts: { json: 'application/vnd.travis-ci.2+json' }
success: callback
CHARTS:
repos:
source: '/api/stats/repos'
total: 0
map: (data) ->
[Date.parse(data.date), @total += parseInt(data.count)]
chart:
renderTo: "repos_stats"
title:
text: "Total Projects/Repositories"
xAxis:
type: "datetime"
dateTimeLabelFormats: # don't display the dummy year
month: "%e. %b"
year: "%b"
yAxis:
title:
text: "Count"
min: 0
tooltip:
formatter: ->
Highcharts.dateFormat("%e. %b", @x) + ": " + @y + " repos"
series: [
name: "Repository Growth"
data: []
]
builds:
source: '/api/stats/tests'
map: (data) ->
[Date.parse(data.date), parseInt(data.count)]
chart:
renderTo: "tests_stats"
type: "column"
title:
text: "Build Count"
subtitle:
text: "last month"
xAxis:
type: "datetime"
dateTimeLabelFormats: # don't display the dummy year
month: "%e. %b"
year: "%b"
yAxis:
title:
text: "Count"
min: 0
tooltip:
formatter: ->
Highcharts.dateFormat("%e. %b", @x) + ": " + @y + " builds"
series: [
name: "Total Builds"
data: []
]

View File

@ -1,3 +1,5 @@
Travis.StatusImageInput = Em.TextArea.extend
View = Ember.TextArea.extend
click: ->
@get('element').select()
Travis.StatusImageInput = View

View File

@ -1,4 +1,6 @@
Travis.StatusImagesView = Em.View.extend
format = Travis.StatusImageFormats.format
View = Ember.View.extend
templateName: 'status_images'
elementId: 'status-images'
classNames: ['popup']
@ -46,6 +48,7 @@ Travis.StatusImagesView = Em.View.extend
).observes('repo.branches', 'repo.branches.isLoaded', 'build.commit.branch')
statusString: (->
Travis.StatusImageFormatter.format(@get('statusImageFormat'), @get('repo.slug'), @get('statusImageBranch.commit.branch'))
format(@get('statusImageFormat'), @get('repo.slug'), @get('statusImageBranch.commit.branch'))
).property('statusImageFormat', 'repo.slug', 'statusImageBranch.commit.branch')
Travis.StatusImagesView = View

View File

@ -1,26 +1,28 @@
@Travis.reopen
TopView: Travis.BasicView.extend
tabBinding: 'controller.tab'
BasicView = Travis.BasicView
# hrm. how to parametrize bind-attr?
classHome: (->
'active' if @get('tab') == 'home'
).property('tab')
View = BasicView.extend
tabBinding: 'controller.tab'
classStats: (->
'active' if @get('tab') == 'stats'
).property('tab')
# hrm. how to parametrize bind-attr?
classHome: (->
'active' if @get('tab') == 'home'
).property('tab')
classProfile: (->
classes = ['profile menu']
classes.push('active') if @get('tab') == 'profile'
classes.push(@get('controller.auth.state') || 'signed-out')
classes.join(' ')
).property('tab', 'controller.auth.state')
classStats: (->
'active' if @get('tab') == 'stats'
).property('tab')
showProfile: ->
$('#top .profile ul').show()
classProfile: (->
classes = ['profile menu']
classes.push('active') if @get('tab') == 'profile'
classes.push(@get('controller.auth.state') || 'signed-out')
classes.join(' ')
).property('tab', 'controller.auth.state')
hideProfile: ->
$('#top .profile ul').hide()
showProfile: ->
$('#top .profile ul').show()
hideProfile: ->
$('#top .profile ul').hide()
Travis.TopView = View

View File

@ -182,8 +182,13 @@ require 'models/user'
require 'models/env-var'
require 'models/ssh-key'
require 'vendor/log'
require 'views/basic'
require 'views/accounts'
require 'views/flash-item'
require 'views/accounts-info'
require 'views/hooks'
require 'views/pre'
require 'views/annotation'
require 'views/application'
require 'views/build'
@ -199,7 +204,7 @@ require 'views/repo-show-tools'
require 'views/repo-show-tabs'
require 'views/repo-actions'
require 'views/profile'
require 'views/stats'
require 'views/profile-tabs'
require 'views/signin'
require 'views/top'
require 'views/status-images'

File diff suppressed because one or more lines are too long