Coder Social home page Coder Social logo

react9k / react-timeline-9000 Goto Github PK

View Code? Open in Web Editor NEW
280.0 280.0 36.0 3.35 MB

React Timeline

Home Page: http://react-timeline-9000.s3-website-ap-southeast-2.amazonaws.com/

License: MIT License

Makefile 0.44% JavaScript 97.34% HTML 0.23% CSS 1.98%
calendar react scheduler timeline

react-timeline-9000's People

Contributors

alex-h-bhp avatar bendog avatar code-factor avatar cristian-spiescu avatar dependabot[bot] avatar eliza-marcu avatar iorda avatar lilfolr avatar marklawlor avatar scoob avatar uncledent avatar vasdee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-timeline-9000's Issues

Don't require style.css

The sample style.css should not be required (by doing to it breaks webpack)

  • Remove hard dependency on style.css
  • Allow for manual import (import eact-timeline-9000/style.css)
  • Make sure demo still uses the stylesheet

Item Renderer

Allow the timeline to accept a render prop to allow the user to render a custom item

Timezone example for Demo

Prove that the timeline can work with moment-timezone.

Perhaps a switcher or +800/+1200 TZ offset is all that is required.

Fix logging

There is a lot of console logging that should be removed

Update rendering during item moving & resizing

During the dragmove event, investigate if it is possible to show the items colliding and moving out of the way as it happens.

This could have performance impacts and isn't strictly necessary for the timeline to operate.

dragging an item beyond row 0

I assume this occurs for the bottom row as well.

If you have multiple items selected across multiple rows and drag from the bottom-most item, you can push the top item beyond row 0. Once you end the drag, the item snaps back ( correctly ) to row 0, however it would be nice if the animation reflected what is actually happening.

Click events on timeline canvas

Need to prove that click events on the canvas can be translated to a time reference. This is to facilitate adding a new item to the timeline.

Update demo

Demo should include:

  • Zoom controls
  • Left & Right buttons
  • Add/Remove selected activity

Fix demo single select

EXPECT:

  • Single click on an item in the demo should select the item.

ACTUAL:

  • Clicking on an item does nothing

selected items off screen breaks timeline

In the demo, if i select an item(s) then scroll down to effectively push that item off of the screen ( and presumably have it de-rendered by react-virtualised) then initiating another drag event will break the timeline as the selected items prop doesn't match what is shown.

If it is up to the user to keep track of what should be in selected, then the timeline should at least handle these errors gracefully.

multi select drag

depends on the selected prop feature first.

enable multiple drag and drop

Top month bar is incorrect

Note how the top time bar says the entire range is "Jan", even though it transitions to Feb on the bottom bar half way through

image

Fixes for selecting items

Prevent the item click being triggered during resize and drag events. At the moment at the end of an interaction, the event is triggered, which causes the parent component to de-select the item.

collision detection when dragging items over another

interactjs might be able to do the heavy lifting for us on this one.

Ideally what should happen is controllable by the end user (ie maybe a user wants it to overlap?) but for starters, getting the items to stack would be a good result

Console error

Get the following error on load - doesnt seem break anything though:

Warning: `NaN` is an invalid value for the `left` css style property. Check the render method of `SelectBox`.

Pretty CSS

Pretty up the default CSS for the demo

Add proposed animation changes to onInteraction prop

Allow the user to define how to animate the items during an dragmove or resizemove event.
The timeline should pass in options for each of the select items such as the dx, current width, x, y ( basically rectangle properties) and the user can simply return the proposed changes to accept them, or define their own.

This should facilitate the user being able to define custom scenarios during multi-selected drag and resize events.

Per item mode

Allow individual items to be selectable/resized/dragged

Time Snapping as a prop

User defined time snapping, that could then be integrated into the getTimeAtPixel functions to return the closest snap time.

Left/right scrolling

Do you guys have a roadmap of features you want to add? Or are there plans for adding left/right scrolling?

I've been doing work to improve performance on react-calendar-timeline, but you guys have already solved the problem of many thousands of items in potentially hundreds of groups.

We're currently at a crossroads of whether it will be less effort to change our current implementation to meet performance, or do we port across to this and add the features it is missing.

Group Renderer

Allow the timeline to accept a render prop that will render the group sidebar elements.

Publish to npm

  • Need to change index.js to export the timeline - not the demo

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.