IssuesMVC - Code review of my Ember demo app


#1

Hi,

I’ve been using JavaScriptMVC (predecessor of Can.js) for quite a while now and I’m currently reviewing some of the more popular JS frameworks for a project we’re going to start in order to understand whether it is worth switching to a new one or rather stick with Can.js.

That said, I started to code a simple app, called it “Issues MVC”, with the purpose of getting some practice/feeling with each framework as I implement some simple features. Since I heard about the great Ember community ;), I thought I might ask for some help, code review or suggestions from some more experienced Ember devs.

The code

Source code and a running demo are here:

I’d be happy to receive some comments here, on the GitHub issue list (https://github.com/juristr/issues-mvc/issues) or even pull-request ;).

Some problems I’m struggling with…

Most of the things worked just fine…others didn’t.

How can I keep the query param??

For now, the issue list has two kind of filtering mechanisms:

  • status: “open”, “closed”
  • owner/creator of the issue: all, created by me, assigned to me

I implemented the open/closed filter with the Ember query params (emberjs.com/guides/routing/query-params/) and wanted to implement the filtering for the owner/creator with different routes, like

  • /requests/created_by
  • /requests/assigned

…and to each of the two you can assign ?status=open|closed for further filtering. (It’s like on the GitHub issue lists basically)

Filtering works on all routes. For the “created by” and “assigned” it is just not visible 'cause at the moment the owner is hard-coded to “Juri” which is also the current user (hardcoded as well). So the filtering has no effect, while for the open/closed you should see it if you create an issue and close it. The problem is when I filter the closed and switch to the “created by me filter”.

  • the ?status= is being removed
  • the active state on the status buttons is lost (probably because the query param has been removed
  • the .active state on the “All” filter on the left remains while switching to the others (is this because I’d have to create a dedicated requests/all route rather than leaving it on the index?)

Refresh after creating a new issue

Another issue I’m having is that the issue list isn’t updating when I edit issues or add new ones with an open/closed state. Apparently the filteredRequests property on the RequestsIndexController isn’t being invoked when I come back from an request/create or request/detailsroute.

Since I cannot upload images, I paste the link to a short animation demoing the issues: https://dl.dropboxusercontent.com/u/10936/filtering-issue-list.gif


Thanks for any help, appreciate it a lot.
(and sorry for any noob questions)