Still lots of work to be done, but I've gotten some good progress going on the JS side of things. Here's some of what's coming up:
- The positioning (position: relative; left: ...;) of the event boxes is off. They are being positioned relative to each other and not relative to their container, so between eventItem1 and eventItem2, one is always rendering incorrectly depending on which one I am adding to the DOM first.
- Make a variable controlling spacing between x-axis line ticks and the x-axis years
- Add minor axis lines
- Remove blurb as an EventItem property
- Link HTML file with objects (perhaps providing a relative link to the HTML file as an object property, and maybe the HTML file contains metadata providing the startYear, endYear, and title)
- "Click item to view HTML in text pane" functionality
- Try to link timeline.css to the articles in the script
-
Allow for instance events (i.e. no duration, like the assassination of a president)
- The structure of the visual object should be different, perhaps a leader (will have to automate conflict management)
- ^ This may require creating a separate EventItem object constructor, or perhaps just a different function within EventItem
-
Figure out overlapping of instance points and event boxes
- What I did was increase the darkness on the borders of the instance points
- Sidebar allowing selection/deselection of timelines
- Ability to add other timelines (rows)
- Allow for full dates, not just years
- Add a button to collapse/expand menu, resize menu to allow text to be bigger
- Change the background color button to an actual button (currently a div)
- Ability to modify several variables in the front end, including axis widths, start/end year of x-axis, etc.
- Ability for event items to render below overlapping event items
- Display tooltip containing title and dates on hover (mouseover)
- Hide instance label margin if no instance labels present
- Add some empty space outside of timeline menu rows but within timeline menu to allow user to move cursor there and scroll through the menu
-
Draggable grip to expand timeline/text pane
- This is actually harder than I expected. I've rendered in the grip and the related graphics, now I need to get a handle of how to get the div to move with the mousedown/drag action, and then how to get the text-pane and timeline divs to resize. I've embedded a script within this HTML file.
- Tooltip should render beneath the corresponding event box, not beneath the first row of event boxes
- Text pane styling for articles
- Substance! This is where the history research comes in. I can start working on this as I start to develop more functionality and before this is nearly done.
-
Ability to "zoom" into timeline
- This would take more effort. But it might be a good idea to only allow certain events to appear at a certain zoom level. Perhaps the zoom levels could be discreet rather than "smooth" (i.e. instead of zooming using the mouse, I could provide buttons that zoom into the timeline, and each zoom level will show more detail, e.g. instance events and smaller, less consequential events, like individual battles within a war).
- This could even just be allowing some of the variables in the script to be changed (like xAxisMajorBoxWidth)
- Should also allow showing months ticks/labels (would obviously need higher "resolution" for that to be shown effectively but I can leave that up to the user)
- General styling