diff --git a/app/components/owner-repo-tile.coffee b/app/components/owner-repo-tile.coffee new file mode 100644 index 00000000..2cad3185 --- /dev/null +++ b/app/components/owner-repo-tile.coffee @@ -0,0 +1,20 @@ +`import Ember from 'ember'` + +OwnerRepoTileComponent = Ember.Component.extend + + tagName: 'li' + classNames: ['tile', 'tile--small', 'row'] + classNameBindings: ['repo.default_branch.last_build.state'] + + ownerName: (-> + @get('repo.slug').split(/\//)[0] + ).property('repo.slug') + + repoName: (-> + @get('repo.slug').split(/\//)[1] + ).property('repo.slug') + + + + +`export default OwnerRepoTileComponent` diff --git a/app/controllers/owner.coffee b/app/controllers/owner.coffee index 50c0a889..5332c86d 100644 --- a/app/controllers/owner.coffee +++ b/app/controllers/owner.coffee @@ -16,7 +16,29 @@ Controller = Ember.Controller.extend ).property() owner: (-> - @get('model') + data = @get('model') + console.log(data) + + { + login: data.login + name: data.name + isSyncing: data.is_syncing + avatarUrl: data.avatar_url + syncedAt: data.synced_at + } + + ).property('model') + + repos: (-> + data = @get('model') + + repos = data.repositories.filter (item, index) -> + if item.active && item.default_branch.last_build != null + item.active + + console.log(repos) + repos + ).property('model') `export default Controller` diff --git a/app/routes/owner.coffee b/app/routes/owner.coffee index d90c98cb..ee72b479 100644 --- a/app/routes/owner.coffee +++ b/app/routes/owner.coffee @@ -9,10 +9,8 @@ Route = TravisRoute.extend model: (params) -> owner = {} - $.get("https://api.travis-ci.org/v3/owner/#{params.owner}?include=user.repositories,organization.repositories").then( (data) -> - owner = data - - owner + $.get("https://api-staging.travis-ci.org/v3/owner/#{params.owner}?include=user.repositories,organization.repositories,build.commit").then( (data) -> + data ) `export default Route` diff --git a/app/templates/components/owner-repo-tile.hbs b/app/templates/components/owner-repo-tile.hbs new file mode 100644 index 00000000..2910110f --- /dev/null +++ b/app/templates/components/owner-repo-tile.hbs @@ -0,0 +1,30 @@ +{{#if repo.private }} +
+{{/if}} +
+ + +
+
+

{{ownerName}}

+

{{#link-to "repo" ownerName repoName }}{{repoName}}{{/link-to}}

+
+
+ {{#if repo.default_branch.last_build}} +

+ {{#link-to "build" ownerName repoName repo.default_branch.last_build.number}} + {{!-- {{repo.last_build.number}} {{repo.last_build.state}} --}} + {{repo.default_branch.last_build.number}} {{repo.default_branch.last_build.state}} + {{/link-to}}

+

+ {{format-sha repo.default_branch.last_build.commit.sha}}

+

+ + {{format-duration repo.default_branch.last_build.duration}}

+

+ + {{format-time repo.default_branch.last_build.finished_at}}

+ {{else}} +

there is no build

+ {{/if}} +
diff --git a/app/templates/components/owner-sync-button.hbs b/app/templates/components/owner-sync-button.hbs index 3e77fa75..b68b8302 100644 --- a/app/templates/components/owner-sync-button.hbs +++ b/app/templates/components/owner-sync-button.hbs @@ -1,5 +1,5 @@
- {{#if owner.is_syncing }} + {{#if owner.isSyncing }}

-

last synced {{format-time owner.synced_at}}

+

last synced {{format-time owner.syncedAt}}

{{/if}}
diff --git a/app/templates/owner.hbs b/app/templates/owner.hbs index 703704c0..7d06105a 100644 --- a/app/templates/owner.hbs +++ b/app/templates/owner.hbs @@ -3,13 +3,14 @@
- +

{{owner.name}}

- {{!-- TODO: only sync btn if user part of org --}} -

{{owner.login}}

- {{owner-sync-button owner=owner}} + +

{{owner.login}}

+ {{owner-sync-button owner=owner}} +
@@ -27,32 +28,9 @@
diff --git a/tests/unit/components/owner-repo-tile-test.coffee b/tests/unit/components/owner-repo-tile-test.coffee new file mode 100644 index 00000000..70577e00 --- /dev/null +++ b/tests/unit/components/owner-repo-tile-test.coffee @@ -0,0 +1,17 @@ +`import { test, moduleForComponent } from 'ember-qunit'` + +moduleForComponent 'owner-repo-tile', 'OwnerRepoTileComponent', { + # specify the other units that are required for this test + # needs: ['component:foo', 'helper:bar'] +} + +test 'it renders', -> + expect 2 + + # creates the component instance + component = @subject() + equal component._state, 'preRender' + + # appends the component to the page + @append() + equal component._state, 'inDOM'