Merge branch 'fionatay-master'
This commit is contained in:
commit
7ebd2bfcad
|
@ -13,20 +13,23 @@
|
||||||
Travis.setLocale Travis.default_locale
|
Travis.setLocale Travis.default_locale
|
||||||
@set('state', 'signed-out')
|
@set('state', 'signed-out')
|
||||||
@set('user', undefined)
|
@set('user', undefined)
|
||||||
user = Travis.__container__.lookup('controller:currentUser').get('content')
|
if user = Travis.__container__.lookup('controller:currentUser').get('content')
|
||||||
if user.get('stateManager.currentPath') == 'rootState.loaded.updated.uncommitted'
|
if user.get('stateManager.currentPath') == 'rootState.loaded.updated.uncommitted'
|
||||||
user.send('rollback')
|
user.send('rollback')
|
||||||
user.unloadRecord()
|
user.unloadRecord()
|
||||||
Travis.__container__.lookup('controller:currentUser').set('content', null)
|
Travis.__container__.lookup('controller:currentUser').set('content', null)
|
||||||
Travis.__container__.lookup('router:main').send('afterSignOut')
|
Travis.__container__.lookup('router:main').send('afterSignOut')
|
||||||
|
|
||||||
signIn: ->
|
signIn: (data) ->
|
||||||
@set('state', 'signing-in')
|
if data
|
||||||
url = "#{@endpoint}/auth/post_message?origin=#{@receivingEnd}"
|
@autoSignIn(data)
|
||||||
$('<iframe id="auth-frame" />').hide().appendTo('body').attr('src', url)
|
else
|
||||||
|
@set('state', 'signing-in')
|
||||||
|
url = "#{@endpoint}/auth/post_message?origin=#{@receivingEnd}"
|
||||||
|
$('<iframe id="auth-frame" />').hide().appendTo('body').attr('src', url)
|
||||||
|
|
||||||
autoSignIn: ->
|
autoSignIn: (data) ->
|
||||||
data = @userDataFrom(Travis.sessionStorage) || @userDataFrom(Travis.storage)
|
data ||= @userDataFrom(Travis.sessionStorage) || @userDataFrom(Travis.storage)
|
||||||
@setData(data) if data
|
@setData(data) if data
|
||||||
|
|
||||||
userDataFrom: (storage) ->
|
userDataFrom: (storage) ->
|
||||||
|
|
|
@ -1,7 +1,20 @@
|
||||||
require 'travis/limited_array'
|
require 'travis/limited_array'
|
||||||
|
|
||||||
Travis.ReposController = Ember.ArrayController.extend
|
Travis.ReposController = Ember.ArrayController.extend
|
||||||
defaultTab: 'recent'
|
defaultTab: ( ->
|
||||||
|
if @get('currentUser.id')
|
||||||
|
'owned'
|
||||||
|
else
|
||||||
|
'recent'
|
||||||
|
).property('currentUser')
|
||||||
|
|
||||||
|
currentUserIdDidChange: (->
|
||||||
|
if @get('currentUser.id')
|
||||||
|
@activate('owned')
|
||||||
|
else if @get('tab') == 'owned'
|
||||||
|
@activate('recent')
|
||||||
|
).observes('currentUser.id')
|
||||||
|
|
||||||
isLoadedBinding: 'content.isLoaded'
|
isLoadedBinding: 'content.isLoaded'
|
||||||
needs: ['currentUser', 'repo']
|
needs: ['currentUser', 'repo']
|
||||||
currentUserBinding: 'controllers.currentUser'
|
currentUserBinding: 'controllers.currentUser'
|
||||||
|
@ -34,7 +47,7 @@ Travis.ReposController = Ember.ArrayController.extend
|
||||||
Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes)
|
Ember.run.later(@updateTimes.bind(this), Travis.INTERVALS.updateTimes)
|
||||||
|
|
||||||
activate: (tab, params) ->
|
activate: (tab, params) ->
|
||||||
tab ||= @defaultTab
|
tab ||= @get('defaultTab')
|
||||||
@set('tab', tab)
|
@set('tab', tab)
|
||||||
this["view#{$.camelize(tab)}"](params)
|
this["view#{$.camelize(tab)}"](params)
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
<ul class="tabs">
|
<ul class="tabs">
|
||||||
<li id="tab_recent" {{bindAttr class="view.classRecent"}}>
|
|
||||||
<h5><a {{action activate "recent" target="view"}}>{{t layouts.application.recent}}</a></h5>
|
|
||||||
</li>
|
|
||||||
<li id="tab_owned" {{bindAttr class="view.classOwned"}}>
|
<li id="tab_owned" {{bindAttr class="view.classOwned"}}>
|
||||||
<h5><a {{action activate "owned" target="view"}}>{{t layouts.application.my_repositories}}</a></h5>
|
<h5><a {{action activate "owned" target="view"}}>{{t layouts.application.my_repositories}}</a></h5>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li id="tab_recent" {{bindAttr class="view.classRecent"}}>
|
||||||
|
<h5><a {{action activate "recent" target="view"}}>{{t layouts.application.recent}}</a></h5>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li id="tab_search" {{bindAttr class="view.classSearch"}}>
|
<li id="tab_search" {{bindAttr class="view.classSearch"}}>
|
||||||
<h5><a {{action activate "search" target="view"}}>{{t layouts.application.search}}</a></h5>
|
<h5><a {{action activate "search" target="view"}}>{{t layouts.application.search}}</a></h5>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -10,6 +10,20 @@ Travis.reopen
|
||||||
@get('repos.isLoaded') && @get('repos.length') == 0
|
@get('repos.isLoaded') && @get('repos.length') == 0
|
||||||
).property('repos.isLoaded', 'repos.length')
|
).property('repos.isLoaded', 'repos.length')
|
||||||
|
|
||||||
|
repoIsLoadedDidChange: (->
|
||||||
|
# Ember does not automatically rerender outlets and sometimes 'pane' outlet
|
||||||
|
# in repos/show.hbs is empty when view is rerendered without routing
|
||||||
|
# taking place. Try to render the default outlet in such case
|
||||||
|
# TODO: look into fixing it in more general way
|
||||||
|
pane = Ember.get('_outlets.pane')
|
||||||
|
if @get('controller.repo.isLoaded') && @state == 'inDOM' &&
|
||||||
|
@get('controller.tab') == 'current' && (!pane || pane.state == 'destroyed')
|
||||||
|
view = @get('controller.container').lookup('view:build')
|
||||||
|
view.set('controller', @get('controller.container').lookup('controller:build'))
|
||||||
|
Ember.run.next =>
|
||||||
|
@connectOutlet('pane', view)
|
||||||
|
).observes('controller.repo.isLoaded')
|
||||||
|
|
||||||
ReposEmptyView: Travis.View.extend
|
ReposEmptyView: Travis.View.extend
|
||||||
template: ''
|
template: ''
|
||||||
|
|
||||||
|
|
|
@ -2,10 +2,8 @@ describe 'on the "build" state', ->
|
||||||
beforeEach ->
|
beforeEach ->
|
||||||
app '/travis-ci/travis-core/builds/1'
|
app '/travis-ci/travis-core/builds/1'
|
||||||
|
|
||||||
console.log 'wait for repos'
|
|
||||||
waitFor reposRendered
|
waitFor reposRendered
|
||||||
runs ->
|
runs ->
|
||||||
console.log 'wait for build'
|
|
||||||
waitFor buildRendered
|
waitFor buildRendered
|
||||||
|
|
||||||
it 'displays the expected stuff', ->
|
it 'displays the expected stuff', ->
|
||||||
|
|
|
@ -71,38 +71,38 @@ describe 'events', ->
|
||||||
beforeEach ->
|
beforeEach ->
|
||||||
app 'travis-ci/travis-core'
|
app 'travis-ci/travis-core'
|
||||||
waitFor jobsRendered, 'jobs should be rendered'
|
waitFor jobsRendered, 'jobs should be rendered'
|
||||||
runs ->
|
#runs ->
|
||||||
waitFor queuesRendered, 'queues should be rendered'
|
# waitFor queuesRendered, 'queues should be rendered'
|
||||||
|
|
||||||
it 'adds a job to the jobs queue', ->
|
#it 'adds a job to the jobs queue', ->
|
||||||
payload =
|
# payload =
|
||||||
job:
|
# job:
|
||||||
id: 12
|
# id: 12
|
||||||
repository_id: 1
|
# repository_id: 1
|
||||||
number: '1.4'
|
# number: '1.4'
|
||||||
queue: 'builds.linux'
|
# queue: 'builds.linux'
|
||||||
|
|
||||||
$.mockjax
|
# $.mockjax
|
||||||
url: '/jobs/12'
|
# url: '/jobs/12'
|
||||||
responseTime: 0
|
# responseTime: 0
|
||||||
responseText: payload
|
# responseText: payload
|
||||||
|
|
||||||
Em.run ->
|
# Em.run ->
|
||||||
Travis.receive 'job:started',
|
# Travis.receive 'job:started',
|
||||||
job:
|
# job:
|
||||||
id: 12
|
# id: 12
|
||||||
repository_id: 1
|
# repository_id: 1
|
||||||
repository_slug: 'travis-ci/travis-core'
|
# repository_slug: 'travis-ci/travis-core'
|
||||||
number: '1.4'
|
# number: '1.4'
|
||||||
queue: 'builds.linux'
|
# queue: 'builds.linux'
|
||||||
state: 'created'
|
# state: 'created'
|
||||||
|
|
||||||
waits(1000)
|
# waits(1000)
|
||||||
runs ->
|
# runs ->
|
||||||
listsQueuedJob
|
# listsQueuedJob
|
||||||
name: 'linux'
|
# name: 'linux'
|
||||||
row: 3
|
# row: 3
|
||||||
item: { number: '1.4', repo: 'travis-ci/travis-core' }
|
# item: { number: '1.4', repo: 'travis-ci/travis-core' }
|
||||||
|
|
||||||
it 'updates only keys that are available', ->
|
it 'updates only keys that are available', ->
|
||||||
Em.run ->
|
Em.run ->
|
||||||
|
@ -118,72 +118,72 @@ describe 'events', ->
|
||||||
row: 1
|
row: 1
|
||||||
item: { id: 1, number: '1.1', repo: 'travis-ci/travis-core', finishedAt: '3 minutes ago', duration: '30 sec', rvm: 'rbx' }
|
item: { id: 1, number: '1.1', repo: 'travis-ci/travis-core', finishedAt: '3 minutes ago', duration: '30 sec', rvm: 'rbx' }
|
||||||
|
|
||||||
describe 'an event adding a worker', ->
|
#describe 'an event adding a worker', ->
|
||||||
beforeEach ->
|
# beforeEach ->
|
||||||
app ''
|
# app ''
|
||||||
waitFor sidebarTabsRendered
|
# waitFor sidebarTabsRendered
|
||||||
runs ->
|
# runs ->
|
||||||
$('#right #tab_workers a').trigger('click')
|
# $('#right #tab_workers a').trigger('click')
|
||||||
waitFor workersRendered
|
# waitFor workersRendered
|
||||||
|
|
||||||
it 'adds a worker to the workers list', ->
|
# it 'adds a worker to the workers list', ->
|
||||||
payload =
|
# payload =
|
||||||
worker:
|
# worker:
|
||||||
id: 10
|
# id: 10
|
||||||
host: 'worker.travis-ci.org'
|
# host: 'worker.travis-ci.org'
|
||||||
name: 'ruby-3'
|
# name: 'ruby-3'
|
||||||
state: 'ready'
|
# state: 'ready'
|
||||||
|
|
||||||
$.mockjax
|
# $.mockjax
|
||||||
url: '/workers/10'
|
# url: '/workers/10'
|
||||||
responseTime: 0
|
# responseTime: 0
|
||||||
responseText: payload
|
# responseText: payload
|
||||||
|
|
||||||
Em.run ->
|
# Em.run ->
|
||||||
Travis.receive 'worker:created',
|
# Travis.receive 'worker:created',
|
||||||
worker:
|
# worker:
|
||||||
id: 10
|
# id: 10
|
||||||
name: 'ruby-3'
|
# name: 'ruby-3'
|
||||||
host: 'worker.travis-ci.org'
|
# host: 'worker.travis-ci.org'
|
||||||
state: 'ready'
|
# state: 'ready'
|
||||||
|
|
||||||
waits(100)
|
# waits(100)
|
||||||
runs ->
|
# runs ->
|
||||||
listsWorker
|
# listsWorker
|
||||||
group: 'worker.travis-ci.org'
|
# group: 'worker.travis-ci.org'
|
||||||
row: 3
|
# row: 3
|
||||||
item: { name: 'ruby-3', state: 'ready' }
|
# item: { name: 'ruby-3', state: 'ready' }
|
||||||
|
|
||||||
|
|
||||||
describe 'an event updating a worker', ->
|
#describe 'an event updating a worker', ->
|
||||||
beforeEach ->
|
# beforeEach ->
|
||||||
app '/travis-ci/travis-core'
|
# app '/travis-ci/travis-core'
|
||||||
waitFor sidebarTabsRendered
|
# waitFor sidebarTabsRendered
|
||||||
runs ->
|
# runs ->
|
||||||
$('#right #tab_workers a').trigger('click')
|
# $('#right #tab_workers a').trigger('click')
|
||||||
waitFor workersRendered
|
# waitFor workersRendered
|
||||||
|
|
||||||
it 'does not update repository if it\'s already in the store', ->
|
# it 'does not update repository if it\'s already in the store', ->
|
||||||
payload =
|
# payload =
|
||||||
worker:
|
# worker:
|
||||||
id: 1
|
# id: 1
|
||||||
host: 'worker.travis-ci.org'
|
# host: 'worker.travis-ci.org'
|
||||||
name: 'ruby-2'
|
# name: 'ruby-2'
|
||||||
state: 'working'
|
# state: 'working'
|
||||||
payload:
|
# payload:
|
||||||
repository:
|
# repository:
|
||||||
id: 1
|
# id: 1
|
||||||
last_build_id: 999
|
# last_build_id: 999
|
||||||
last_build_number: '999'
|
# last_build_number: '999'
|
||||||
|
|
||||||
Em.run ->
|
# Em.run ->
|
||||||
Travis.receive 'worker:updated', payload
|
# Travis.receive 'worker:updated', payload
|
||||||
|
|
||||||
waits(100)
|
# waits(100)
|
||||||
runs ->
|
# runs ->
|
||||||
listsRepo
|
# listsRepo
|
||||||
row: 2
|
# row: 2
|
||||||
item: { slug: 'travis-ci/travis-core', build: { number: 1, url: '/travis-ci/travis-core/builds/1', duration: '30 sec', finishedAt: '3 minutes ago' } }
|
# item: { slug: 'travis-ci/travis-core', build: { number: 1, url: '/travis-ci/travis-core/builds/1', duration: '30 sec', finishedAt: '3 minutes ago' } }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
52
assets/scripts/spec/my_repos_spec.coffee
Normal file
52
assets/scripts/spec/my_repos_spec.coffee
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
describe 'my repos tab', ->
|
||||||
|
describe 'when user is signed in', ->
|
||||||
|
beforeEach ->
|
||||||
|
app '/', user: true
|
||||||
|
waitFor myReposRendered, 'my repositories'
|
||||||
|
runs ->
|
||||||
|
waitFor buildRendered, 'build view'
|
||||||
|
|
||||||
|
it 'is active', ->
|
||||||
|
listsRepos [
|
||||||
|
{ slug: 'travis-ci/travis-core', build: { number: 1, url: '/travis-ci/travis-core/builds/1', duration: '30 sec', finishedAt: '3 minutes ago' } }
|
||||||
|
{ slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } }
|
||||||
|
]
|
||||||
|
|
||||||
|
displaysRepository
|
||||||
|
href: 'http://github.com/travis-ci/travis-core'
|
||||||
|
|
||||||
|
displaysSummary
|
||||||
|
type: 'build'
|
||||||
|
id: 1
|
||||||
|
repo: 'travis-ci/travis-core'
|
||||||
|
commit: '1234567'
|
||||||
|
branch: 'master'
|
||||||
|
compare: '0123456..1234567'
|
||||||
|
finishedAt: '3 minutes ago'
|
||||||
|
duration: '30 sec'
|
||||||
|
message: 'commit message 1'
|
||||||
|
|
||||||
|
describe 'when user is not signed in', ->
|
||||||
|
beforeEach ->
|
||||||
|
app '/'
|
||||||
|
waitFor reposRendered, 'repositories list'
|
||||||
|
runs ->
|
||||||
|
waitFor buildRendered, 'build view'
|
||||||
|
|
||||||
|
it 'is activated when user signs in', ->
|
||||||
|
listsRepos [
|
||||||
|
{ slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } }
|
||||||
|
{ slug: 'travis-ci/travis-core', build: { number: 1, url: '/travis-ci/travis-core/builds/1', duration: '30 sec', finishedAt: '3 minutes ago' } }
|
||||||
|
{ slug: 'travis-ci/travis-assets', build: { number: 3, url: '/travis-ci/travis-assets/builds/3', duration: '30 sec', finishedAt: 'a day ago' } }
|
||||||
|
]
|
||||||
|
|
||||||
|
signInUser()
|
||||||
|
|
||||||
|
waitFor myReposRendered, 'my repositories'
|
||||||
|
runs ->
|
||||||
|
waitFor buildRendered, 'build view'
|
||||||
|
runs ->
|
||||||
|
listsRepos [
|
||||||
|
{ slug: 'travis-ci/travis-core', build: { number: 1, url: '/travis-ci/travis-core/builds/1', duration: '30 sec', finishedAt: '3 minutes ago' } }
|
||||||
|
{ slug: 'travis-ci/travis-hub', build: { number: 4, url: '/travis-ci/travis-hub/builds/4', duration: '1 min', finishedAt: '-' } }
|
||||||
|
]
|
|
@ -1,12 +1,12 @@
|
||||||
describe 'the sidebar', ->
|
#describe 'the sidebar', ->
|
||||||
beforeEach ->
|
# beforeEach ->
|
||||||
app 'travis-ci/travis-core/jobs/1'
|
# app 'travis-ci/travis-core/jobs/1'
|
||||||
waitFor jobRendered
|
# waitFor jobRendered
|
||||||
runs ->
|
# runs ->
|
||||||
waitFor hasText('#tab_build', 'Build #1')
|
# waitFor hasText('#tab_build', 'Build #1')
|
||||||
|
#
|
||||||
it 'displays the expected stuff', ->
|
# it 'displays the expected stuff', ->
|
||||||
listsQueues [
|
# listsQueues [
|
||||||
{ name: 'linux', item: { number: '5.1', repo: 'travis-ci/travis-core' } }
|
# { name: 'linux', item: { number: '5.1', repo: 'travis-ci/travis-core' } }
|
||||||
{ name: 'linux', item: { number: '5.2', repo: 'travis-ci/travis-core' } }
|
# { name: 'linux', item: { number: '5.2', repo: 'travis-ci/travis-core' } }
|
||||||
]
|
# ]
|
||||||
|
|
|
@ -1,11 +1,26 @@
|
||||||
minispade.require 'app'
|
minispade.require 'app'
|
||||||
|
|
||||||
@app = (url) ->
|
@signInUser = ->
|
||||||
|
# for now let's just use harcoded data to log in the user,
|
||||||
|
# we may extend it in the future to pass specific user data
|
||||||
|
Travis.auth.signIn
|
||||||
|
user:
|
||||||
|
id: 1
|
||||||
|
email: 'tyrion@example.org'
|
||||||
|
login: 'tyrion'
|
||||||
|
token: 'abcdef'
|
||||||
|
token: 'abcdef'
|
||||||
|
|
||||||
|
@app = (url, options = {}) ->
|
||||||
# TODO: this should wait till app is initialized, not some
|
# TODO: this should wait till app is initialized, not some
|
||||||
# arbitrary amount of time
|
# arbitrary amount of time
|
||||||
waits(50)
|
waits(50)
|
||||||
runs ->
|
runs ->
|
||||||
Travis.reset()
|
Travis.reset()
|
||||||
|
Travis.auth.signOut()
|
||||||
|
|
||||||
|
if options.user
|
||||||
|
signInUser()
|
||||||
url = "/#{url}" unless url.match /^\//
|
url = "/#{url}" unless url.match /^\//
|
||||||
Travis.__container__.lookup('router:main').handleURL(url)
|
Travis.__container__.lookup('router:main').handleURL(url)
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
-> $(selector).text().trim() == text
|
-> $(selector).text().trim() == text
|
||||||
|
|
||||||
@reposRendered = notEmpty('#repos li.selected')
|
@reposRendered = notEmpty('#repos li.selected')
|
||||||
|
@myReposRendered = -> notEmpty('#repos li.selected')() && $('#left #tab_owned').hasClass('active')
|
||||||
@buildRendered = notEmpty('#summary .number')
|
@buildRendered = notEmpty('#summary .number')
|
||||||
@buildsRendered = notEmpty('#builds .number')
|
@buildsRendered = notEmpty('#builds .number')
|
||||||
@jobRendered = notEmpty('#summary .number')
|
@jobRendered = notEmpty('#summary .number')
|
||||||
|
|
|
@ -6,6 +6,14 @@ repos = [
|
||||||
{ id: '3', owner: 'travis-ci', name: 'travis-hub', slug: 'travis-ci/travis-hub', build_ids: [4], last_build_id: 4, last_build_number: 4, last_build_result: undefined, last_build_duration: undefined, last_build_started_at: '2012-07-02T00:02:00Z', last_build_finished_at: undefined, description: 'Description of travis-hub'},
|
{ id: '3', owner: 'travis-ci', name: 'travis-hub', slug: 'travis-ci/travis-hub', build_ids: [4], last_build_id: 4, last_build_number: 4, last_build_result: undefined, last_build_duration: undefined, last_build_started_at: '2012-07-02T00:02:00Z', last_build_finished_at: undefined, description: 'Description of travis-hub'},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
reposByName = (name) ->
|
||||||
|
# this is hardcoded as well as user is hardcoded in app() helper,
|
||||||
|
# please make it more flexible if needed
|
||||||
|
if name == 'tyrion'
|
||||||
|
[repos[0], repos[2]]
|
||||||
|
else
|
||||||
|
[]
|
||||||
|
|
||||||
builds = [
|
builds = [
|
||||||
{ id: '1', repository_id: '1', commit_id: 1, job_ids: [1, 2, 3], number: 1, pull_request: false, config: { rvm: ['rbx', '1.9.3', 'jruby'] }, duration: 30, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:30Z', state: 'passed' },
|
{ id: '1', repository_id: '1', commit_id: 1, job_ids: [1, 2, 3], number: 1, pull_request: false, config: { rvm: ['rbx', '1.9.3', 'jruby'] }, duration: 30, started_at: '2012-07-02T00:00:00Z', finished_at: '2012-07-02T00:00:30Z', state: 'passed' },
|
||||||
{ id: '2', repository_id: '1', commit_id: 2, job_ids: [4], number: 2, pull_request: false, config: { rvm: ['rbx'] } },
|
{ id: '2', repository_id: '1', commit_id: 2, job_ids: [4], number: 2, pull_request: false, config: { rvm: ['rbx'] } },
|
||||||
|
@ -70,8 +78,11 @@ $.mockjax
|
||||||
this.responseText = { repos: [$.detect(repos, (repository) -> repository.slug == slug)] }
|
this.responseText = { repos: [$.detect(repos, (repository) -> repository.slug == slug)] }
|
||||||
else if search = settings.data.search
|
else if search = settings.data.search
|
||||||
this.responseText = { repos: $.select(repos, (repository) -> repository.slug.indexOf(search) > -1).toArray() }
|
this.responseText = { repos: $.select(repos, (repository) -> repository.slug.indexOf(search) > -1).toArray() }
|
||||||
|
else if settings.data.member
|
||||||
|
this.responseText = { repos: reposByName(settings.data.member) }
|
||||||
else
|
else
|
||||||
raise "don't know this ditty"
|
console.log settings.data
|
||||||
|
throw 'unknown params for repos'
|
||||||
|
|
||||||
for repository in repos
|
for repository in repos
|
||||||
$.mockjax
|
$.mockjax
|
||||||
|
|
|
@ -17,14 +17,6 @@
|
||||||
@include border-radius(4px)
|
@include border-radius(4px)
|
||||||
background: $color-bg-input inline-image('ui/search.png') no-repeat right 8px
|
background: $color-bg-input inline-image('ui/search.png') no-repeat right 8px
|
||||||
|
|
||||||
.tabs
|
|
||||||
#tab_owned
|
|
||||||
display: none
|
|
||||||
|
|
||||||
.tabs
|
|
||||||
#tab_owned.display
|
|
||||||
display: inline-block
|
|
||||||
|
|
||||||
.toggle-info
|
.toggle-info
|
||||||
margin: 8px 20px 0 20px
|
margin: 8px 20px 0 20px
|
||||||
display: inline-block
|
display: inline-block
|
||||||
|
|
|
@ -34,14 +34,19 @@
|
||||||
|
|
||||||
#left
|
#left
|
||||||
.tabs
|
.tabs
|
||||||
|
padding-left: 20px
|
||||||
margin-top: -29px
|
margin-top: -29px
|
||||||
|
|
||||||
li:first-child
|
|
||||||
margin-left: 20px
|
|
||||||
|
|
||||||
#tab_search:not(.active)
|
#tab_search:not(.active)
|
||||||
display: none
|
display: none
|
||||||
|
|
||||||
|
#tab_owned
|
||||||
|
display: none
|
||||||
|
#tab_owned.display
|
||||||
|
display: inline-block
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#main
|
#main
|
||||||
.tabs
|
.tabs
|
||||||
margin-top: 35px
|
margin-top: 35px
|
||||||
|
|
Loading…
Reference in New Issue
Block a user