We should switch Calendar to use ApplicationSearch for all querying, with an option to choose how results are displayed (e.g., list vs calendar), per T7927.
I think we likely want to retain the calendar view in at least some form (but probably make it work on mobile; see T2898, and possibly revise it significantly).
I think we also want to retain the pure list view (but probably revise it significantly).
We also probably want to implement the "weekly + daily" UI in T4393.
Overall, the goal is to give users full access to the power of ApplicationSearch (filter events by users, dates, projects, types, statuses, etc, etc.) across everything, provide options to put the results on a various UIs with different goals, then pick a handful of reasonable defaults that put a sensible set of results on a sensible UI -- like "Your week" on "weekly + daily", "all upcoming events" on "list", etc.
Okay, I think we should do this:
- Give ApplicationSearch a new "Display Results As" option. Values are:
- Weekly/Daily (whatever we call the T4393 mock, don't add this yet)
- "List" does what it does right now.
- "Monthly" renders the month view.
- Get those working.
- Replace "My Events" and "View All" with ApplicationSearch. This is basically T7927.
- At this point, /calendar/ will still take you to a month view, but it will be an ApplicationSearch view and all the UI will pretty much be consistent and make sense.
- Implement anything you can from T4392 and leave the rest for @chad.
- Don't implement the "Displaying" or color coding things for now. These features make a lot less sense now that events have multiple invitees, typeaheads have functions, etc. We'll revisit this later.
- I don't know what the "Calendar" or "Edit" buttons do, maybe @chad has some details or I missed them.
- We can add week numbers.
- We can make day names full-length.
- We can maybe clean up some of the other design.
- Enable "Weekly/Daily" and have it render like T4393.
- You can mostly follow that mock, but don't implement "Displaying:" or the user color-coding.
- @chad can clean up any prettiness issues, just try to get the basics working.
- Enable "Display results as: weekly/daily".
- The "Calendar" button swaps your view back to monthly.
- I don't know what the edit button does (@chad?).
- When you click a day in the main "month" view, take the user to the daily view.
- Make "Upcoming events" be a weekly view of today, and get rid of the list as a default filter probably or rename it to "Event List" or whatever.
I think this is the simplest, most iterative approach to getting all this stuff working. Once it works, we can figure out whether the daily/weekly should be the default, etc.
There should also be some way to create events from the monthly and daily/weekly views.
Funny, I forgot what the edit button was for also, but I put an inline comment on what it does in Pholio! It lets you change the start and end time of the day calendar. Not sure it thats a v2 feature, we could just hardcode a start and end time or maybe make it an admin config. But even for us if we spread geographically, we'll want to coordinate times a bit per individual.
Most of this is done. There are some possibly undocumented css areas that could be improved upon (see @chad for better answer). Closing this task to keep things clean, and we possibly need to create a new task in the future with more targeted and organized css feedback, if it hasn't been addressed already.