nasedil / timeline-scale Goto Github PK
View Code? Open in Web Editor NEWTimeline scale visualization library.
License: MIT License
Timeline scale visualization library.
License: MIT License
Add technical information in files (github markdown, litcoffee, etc...)
Also add license to each file, link to main project, author with contact info.
Make three or four-level content overview.
Make some nice export of library for client-side use.
Implement axis with two lanes, so that second lane have the same information that non-first lanes have in multilane axis.
Wrong date is found as leftmost when date is negative.
@options
Refactor optios, so that some are keeped in object, but axis formatting functions can be called independently. Remove non-necessary dependence on filed options.
Checklist:
tightness
option -- changed from argument to fieldfindPointList()
-- goodfindLeftTime()
-- goodfindNextPoint()
-- goodtimeToCoord()
-- goodfindNominalInterval()
- goodformatLabel()
-- changed options from argument to fieldsrenderToCanvas()
-- goodNow everything is in one file. Should be in different files.
Add license file and notes in each file.
When zooming in a lot, ticks dissapear and don't come back when zooming out again. No errors are fired by browser.
Implement methods that return lists of major ticks, minor ticks, labels, which can be used in other libraries that support only such kind of time axis.
Tasks:
Add option for label offset depending on label placement
At least on github
For example, '-10โ-1' should be formatted somehow more nice.
Make it possible to animate axis continuously, that is there is never a rapid change: no disappearing or appearing ticks and labels, everything smoothly changes.
Something that would make people understand purpose, structure and how to continue exploring the project; all in pretty short format story.
Add reason for making the library.
Add direction and vision.
It seems that milliseconds from Epoch is the best format type to use for timestamps (for exporting and parameters). It is universally used on different platforms and in different programming languages.
For example, if we need to display month name, but distance between two consecutive ticks is smaller then width of the widest month name, then we change formatting to use month abbreviation for example, or month number, or something like that.
Now we have a layer that returns abstract graphical data, and another layer that renders that data.
What if we make them smaller? First layers could return the most low-level data, like tick timestamps, intervals, text of labels (or even not here, just properties of these labels that will be rendered by next layer?). Another layer could format labels. And another one could make list of lines. And the last will render it.
On the other side, one problem is that in smart timelines label text can be dependent on actual tick values and font size. What to do here? And even more, tick values can be adjusted based on text size, why not? At some point it's good to make the simplest interface that just gets interval and renders it as good as possible. We should decide what to do.
Refactor class in such a way that state of class is not changed from its methods (see #7).
Particularly here means to remove fields that were used merely to pass value from one method to another. For this arguments or another class should be used.
This is something that can be used instead of additional lanes. Should provide the same or similar information, for example if axis shows hours, this string should be something like 'year-month-day'.
Add information about layers and the way system is supposed to be used.
For making coordinate transformations on client easier, provide functions that translate coordinates to any viewport and back
Tasks:
Put interval labels on leftmost and rightmost side in the middle of visible area if they fit, and close to a visible point otherwise.
Add possibility to choose first day of a week
When zooming out at some point axis script works infinitely causing browser to stop working properly.
Implement axis with several lanes.
Things to be done:
Add possibility to have different tick lenght for label placement type
It only watches the first file.
Calculate tick lengths logarithmically based on interval.
Javascript only supports dates which are ยฑ1000000000 days from Epoch. Let's support dates which are outside of that range.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.