From 20154813290cd4087322fc77aa5fd499fd8c96e6 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Sun, 22 Jul 2012 15:10:34 +0200 Subject: [PATCH] use pushState --- assets/javascripts/app/helpers/urls.coffee | 12 +++--- assets/javascripts/app/models/sponsor.coffee | 2 +- assets/javascripts/app/routes.coffee | 35 +++++++++++------- .../javascripts/app/templates/builds/list.hbs | 24 +++++++++--- .../javascripts/app/templates/builds/show.hbs | 2 +- .../javascripts/app/templates/jobs/list.hbs | 2 +- .../javascripts/app/templates/jobs/show.hbs | 2 +- .../javascripts/app/templates/layouts/top.hbs | 10 ++--- .../{repositories => repos}/list.hbs | 10 ++--- .../javascripts/app/templates/repos/show.hbs | 37 +++++++++++++++++++ .../{repositories => repos}/tabs.hbs | 36 +++++++++++++++--- .../app/templates/repositories/show.hbs | 26 ------------- .../app/templates/workers/list.hbs | 2 +- assets/javascripts/app/views.coffee | 26 +++++-------- assets/javascripts/app/views/build.coffee | 6 +-- assets/javascripts/app/views/job.coffee | 8 ++-- assets/javascripts/app/views/profile.coffee | 4 +- assets/javascripts/app/views/repo.coffee | 10 ++--- assets/javascripts/app/views/sidebar.coffee | 15 ++++++++ assets/javascripts/app/views/tabs.coffee | 4 +- assets/javascripts/app/views/top.coffee | 2 +- config.ru | 6 +++ public/index.html | 6 +-- public/javascripts/application.js | 2 +- public/spec.html | 12 +++--- 25 files changed, 186 insertions(+), 115 deletions(-) rename assets/javascripts/app/templates/{repositories => repos}/list.hbs (73%) create mode 100644 assets/javascripts/app/templates/repos/show.hbs rename assets/javascripts/app/templates/{repositories => repos}/tabs.hbs (62%) delete mode 100644 assets/javascripts/app/templates/repositories/show.hbs create mode 100644 assets/javascripts/app/views/sidebar.coffee diff --git a/assets/javascripts/app/helpers/urls.coffee b/assets/javascripts/app/helpers/urls.coffee index d38cab63..e5edada9 100644 --- a/assets/javascripts/app/helpers/urls.coffee +++ b/assets/javascripts/app/helpers/urls.coffee @@ -1,21 +1,21 @@ @Travis.Urls = repository: (slug) -> - "#!/#{slug}" + "/#{slug}" builds: (slug) -> - "#!/#{slug}/builds" + "/#{slug}/builds" pullRequests: (slug) -> - "#!/#{slug}/pull_requests" + "/#{slug}/pull_requests" branches: (slug) -> - "#!/#{slug}/branches" + "/#{slug}/branches" build: (slug, id) -> - "#!/#{slug}/builds/#{id}" + "/#{slug}/builds/#{id}" job: (slug, id) -> - "#!/#{slug}/jobs/#{id}" + "/#{slug}/jobs/#{id}" githubCommit: (slug, sha) -> "http://github.com/#{slug}/commit/#{sha}" diff --git a/assets/javascripts/app/models/sponsor.coffee b/assets/javascripts/app/models/sponsor.coffee index 1a0285e8..82b9564b 100644 --- a/assets/javascripts/app/models/sponsor.coffee +++ b/assets/javascripts/app/models/sponsor.coffee @@ -6,7 +6,7 @@ require 'travis/model' link: DS.attr('string') image: (-> - "images/sponsors/#{@get('data.image')}" + "/images/sponsors/#{@get('data.image')}" ).property('data.image') Travis.Sponsor.reopenClass diff --git a/assets/javascripts/app/routes.coffee b/assets/javascripts/app/routes.coffee index 0c6a5073..3115ac38 100644 --- a/assets/javascripts/app/routes.coffee +++ b/assets/javascripts/app/routes.coffee @@ -1,25 +1,34 @@ Travis.Routes = Em.Object.extend + BASE_URI: 'http://localhost:9292' + ROUTES: - '!/profile': ['profile', 'show'] - '!/stats': ['stats', 'show'] - '!/:owner/:name/jobs/:id/:line': ['home', 'job'] - '!/:owner/:name/jobs/:id': ['home', 'job'] - '!/:owner/:name/builds/:id': ['home', 'build'] - '!/:owner/:name/builds': ['home', 'builds'] - '!/:owner/:name/pull_requests': ['home', 'pullRequests'] - '!/:owner/:name/branches': ['home', 'branches'] - '!/:owner/:name': ['home', 'current'] - '': ['home', 'index'] + 'profile': ['profile', 'show'] + 'stats': ['stats', 'show'] + ':owner/:name/jobs/:id/:line': ['home', 'job'] + ':owner/:name/jobs/:id': ['home', 'job'] + ':owner/:name/builds/:id': ['home', 'build'] + ':owner/:name/builds': ['home', 'builds'] + ':owner/:name/pull_requests': ['home', 'pullRequests'] + ':owner/:name/branches': ['home', 'branches'] + ':owner/:name': ['home', 'current'] + '': ['home', 'index'] start: -> unless @started - @started = true - @route(route, target[0], target[1]) for route, target of @ROUTES + Em.routes.set('usesHistory', true) + Em.routes.set('wantsHistory', true) + Em.routes.set('baseURI', @BASE_URI) - route: (route, layout, action) -> + @started = true + @add(route, target[0], target[1]) for route, target of @ROUTES + + add: (route, layout, action) -> Em.routes.add route, (params) => @action(layout, action, params) + route: (event) -> + Em.routes.set('location', event.target.href.replace("#{@BASE_URI}/", '')) + action: (name, action, params) -> # this needs to be a global reference because Em.routes is global layout = Travis.app.connectLayout(name) diff --git a/assets/javascripts/app/templates/builds/list.hbs b/assets/javascripts/app/templates/builds/list.hbs index 7319c84b..26d41e20 100644 --- a/assets/javascripts/app/templates/builds/list.hbs +++ b/assets/javascripts/app/templates/builds/list.hbs @@ -13,11 +13,25 @@ {{#each build in builds}} {{#view Travis.BuildsItemView contextBinding="build"}} - {{number}} - {{formatCommit commit}} - {{{formatMessage commit.message short="true"}}} - {{formatDuration duration}} - {{formatTime finishedAt}} + + + {{number}} + + + + + {{formatCommit commit}} + + + + {{{formatMessage commit.message short="true"}}} + + + {{formatDuration duration}} + + + {{formatTime finishedAt}} + {{/view}} {{/each}} diff --git a/assets/javascripts/app/templates/builds/show.hbs b/assets/javascripts/app/templates/builds/show.hbs index 96b54ed4..b6eb0db8 100644 --- a/assets/javascripts/app/templates/builds/show.hbs +++ b/assets/javascripts/app/templates/builds/show.hbs @@ -4,7 +4,7 @@
{{t builds.name}}
-
{{build.number}}
+
{{build.number}}
{{t builds.finished_at}}
{{formatTime build.finishedAt}}
{{t builds.duration}}
diff --git a/assets/javascripts/app/templates/jobs/list.hbs b/assets/javascripts/app/templates/jobs/list.hbs index 08c921e3..495cfbef 100644 --- a/assets/javascripts/app/templates/jobs/list.hbs +++ b/assets/javascripts/app/templates/jobs/list.hbs @@ -22,7 +22,7 @@ {{#each job in view.jobs}} {{#view Travis.JobsItemView contextBinding="job"}} - {{number}} + {{number}} {{formatDuration duration}} {{formatTime finishedAt}} {{#each value in configValues}} diff --git a/assets/javascripts/app/templates/jobs/show.hbs b/assets/javascripts/app/templates/jobs/show.hbs index 058d3b48..2b806815 100644 --- a/assets/javascripts/app/templates/jobs/show.hbs +++ b/assets/javascripts/app/templates/jobs/show.hbs @@ -4,7 +4,7 @@
Job
-
{{job.number}}
+
{{job.number}}
{{t jobs.finished_at}}
{{formatTime job.finishedAt}}
{{t jobs.duration}}
diff --git a/assets/javascripts/app/templates/layouts/top.hbs b/assets/javascripts/app/templates/layouts/top.hbs index c39e8eef..0d17dc7c 100644 --- a/assets/javascripts/app/templates/layouts/top.hbs +++ b/assets/javascripts/app/templates/layouts/top.hbs @@ -1,13 +1,13 @@ - +

Travis