Giter Club home page Giter Club logo

epoch's People

Contributors

benaltair avatar

Stargazers

 avatar

Watchers

 avatar

epoch's Issues

Allow navigation with timeline widget

Likely this will be achieved with a bar at the bottom. When first loaded, it will show the entire timeline. There are several ways of zooming in:

  1. Click on an event to make that the top-level event and take up the majority of the viewport
  2. Click and drag on the bottom bar to select a date range
  3. Click on a year to zoom in one level in that area (not sure how the top-level event will be selected for this)

When in any state other than the initial load, two things will happen. First, the date range being shown currently will be highlighted with draggable handles (in middle and either end) to adjust it. Second, another timeline will appear showing the actual dates being rendered. Specific years, months or perhaps days depending on the zoom level. This will likely be at the top and just part of the page, but faded out when zoomed all the way out to avoid redundancy. This is a large item so it should be broken up into several tasks below later.

Handle events outside of window (i.e. cycle, dispensation)

This will be necessary for the highest level events, but may also be needed for lower level events depending on how zoom levels are rendered. Likely a faded out version of the higher level event will be shown, which can be clicked on to zoom out. Users could also click anywhere outside on the timeline to zoom out perhaps.

These events which go further should be indicated by a > border or something.

Allow vertical scrolling?

At this stage navigation is curious. I think I might keep it without any vertical or horizontal scrolling, other than navigation on the timeline. Instead, further events would be shown by drilling down and clicking on certain events to see sub-events below it.

This might need to be rethought for mobile.

Change column calculations for event placement

Right now the events are only placed correctly if the length of the timeline equals the length of the largest event. Math is needed to adjust the proportion accordingly so that it is adjusted when the timeline is updated. This is related to #1

Handle events with shorter timespans than their rendered labels

Sometimes events such as "12MP" or "1YP" which have a relatively short duration at a certain zoom level will have a label which doesn't fit. A strategy will need to be decided on for dealing with these.
image

One option is to have a different method of rendering these outside of the standard box.
image
Another would be something like hiding the label and just showing ... until you hover. Thought will need to go into how to detect when a label is too large.

Right now the main issue is that the larger label is actually bumping events down the line. This will need to be addressed first.

  • Ensure larger labels don't affect timeline accuracy
  • Find a way to render the labels which don't fit nicely

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.