-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementing user interface in create section #15
Comments
First, style Y271 should be followed for routing rules. |
It seems better to define one more level which is child of state
|
After timetable objects are generated using |
Also, |
* Related to issue #15. * This change was made to conform to style Y271.
* To distinguish two states: configuration for timetables, and showing the result of timetable generation. * This change was proposed in a comment to issue #15.
* Following some decisions made in issue #15.
|
Paging will not be applied to course search results. Instead, the results will be shown only up to 100 courses, and if the number of results is larger than 100, an information text will be displayed. The reason why paging is taken away from course search results is difficulty on grouping courses by subject. Let's assume that there are five courses for one subject, and two of them are listed at the last of one page, and rest of them at the first of following page. With paging enabled, only the first three courses is displayed and grouped. Right after that, the following page is loaded, and it is hard to play with grouping new courses. Also, too frequent loading of new pages is not good for user experience. So here's solution: disable paging on course search results, load slightly large numbers (about 100) of courses on single request, and inform user that there are too many courses to show. It is considered hard for users to check every entity in such large search results. Therefore, it is okay to show only some of the results and inform user about large search results. |
Forgot to mention this. Naturally, each view for each state has its own controller, and the old controller |
Current UI on right column in create section consists of search box on the top, course cart box on the bottom, search option box and search result box. The last two boxes are displayed only when search box is focused. Well, this was thought to be pretty good design, but some problems have been encountered. They are
dsBackdrop
directive. ui-bootstrap could have been not utilized for this.So, a new design has been considered for the user interface. Instead of moving around and making some boxes appear and disappear, there is only a single box. No backdrop. This box is stretched to fill the screen vertically, too. However, in this case, the height can be computed with CSS.
The box works just like navigation view in mobile apps. It has navigation bar on the top, and stepping in and out occurs inside it. Also,
UIModalView
-like transition occurs. Therefore, state definition and management for user interface is mandatory.The user interface has one of these states:
create.course-cart
create.search
create.search-result
create.generated
create.detail
These are valid state transitions:
Now, the way for state management should be defined. angular-ui/ui-router provides nested states and views. This feature is used for state management. (Bearing it in mind, the name of valid states are prefixed with
create
and dot character.)For detail of design, take a look at design note below.
The text was updated successfully, but these errors were encountered: