All Projects → nasa → edsc-timeline

nasa / edsc-timeline

Licence: other
No description or website provided.

Programming Languages

javascript
184084 projects - #8 most used programming language
SCSS
7915 projects

Projects that are alternatives of or similar to edsc-timeline

ForensicsTools
A list of free and open forensics analysis tools and other resources
Stars: ✭ 392 (+2350%)
Mutual labels:  timeline
bitcoin-development-history
Data and a example for a open source timeline of the history of Bitcoin development
Stars: ✭ 27 (+68.75%)
Mutual labels:  timeline
personal-website
My personal website
Stars: ✭ 117 (+631.25%)
Mutual labels:  timeline
xivtlsheet
ACT、FFLogsを使い、FF14 零式コンテンツのタイムラインスプレッドシートを作成
Stars: ✭ 39 (+143.75%)
Mutual labels:  timeline
timeline
My daily talks in timeline
Stars: ✭ 24 (+50%)
Mutual labels:  timeline
thewhite
✒️ It's a minimal and light wordpress blog theme 🎨
Stars: ✭ 87 (+443.75%)
Mutual labels:  timeline
Get-NetworkConnection
Edited version of Lee Christensen's Get-NetworkConnection which includes timestamp for each network connection
Stars: ✭ 34 (+112.5%)
Mutual labels:  timeline
notifyme
react-notification-timeline is a react based component helps in managing the notification in time-based manner.
Stars: ✭ 94 (+487.5%)
Mutual labels:  timeline
vue-timeline
a timeline for vue2 and bootstrap3
Stars: ✭ 59 (+268.75%)
Mutual labels:  timeline
Kinetic
A flexible tweening library for iOS in Swift similar to GSAP's TweenMax.
Stars: ✭ 54 (+237.5%)
Mutual labels:  timeline
TimelineCards
Presenting timelines as cards, single or bundled in scrollable feed!
Stars: ✭ 423 (+2543.75%)
Mutual labels:  timeline
tm
timers and timeline
Stars: ✭ 31 (+93.75%)
Mutual labels:  timeline
vertical-timeline-component-react
A Timeline Component for React.js
Stars: ✭ 42 (+162.5%)
Mutual labels:  timeline
TimelineView
A customizable and easy-to-use Timeline View library for Android. Works as a RecyclerView decorator (ItemDecoration)
Stars: ✭ 169 (+956.25%)
Mutual labels:  timeline
timeline
Takes tweets from a bot's followings and markovifies them. Ruby port of sneaksnake/timeline
Stars: ✭ 13 (-18.75%)
Mutual labels:  timeline
croncal
Utility to convert a crontab file to a list of actual events within a date range.
Stars: ✭ 37 (+131.25%)
Mutual labels:  timeline
vue-horizontal-timeline-component
vue横向时间轴,可支持拖拽、滚动的
Stars: ✭ 32 (+100%)
Mutual labels:  timeline
react-native-beautiful-timeline
Fully customizable, beautifully designed Timeline for React Native.
Stars: ✭ 111 (+593.75%)
Mutual labels:  timeline
TimeAxis
⚡️ (停止维护)基于jQuery实现的时光轴,左侧有一个缩小的时间选择器,快速向上的箭头。
Stars: ✭ 27 (+68.75%)
Mutual labels:  timeline
web3-is-going-great
A timeline of some of the greatest hits in cryptocurrencies, NFTs, and other web3 projects since the beginning of 2021
Stars: ✭ 334 (+1987.5%)
Mutual labels:  timeline

Earthdata Search Components: Timeline

npm version Build Status codecov

Try out the online demo

A React plugin implementing a timeline view of data, allowing time range selection as well as keyboard and touch interaction For a basic usage example and a testbed for changes, see example/src

The edsc-timeline plugin was developed as a component of Earthdata Search.

Installation

npm install @edsc/timeline

Usage

After installing you can use the component in your code.

import EDSCTimeline from '@edsc/timeline'

const Component = () => {
  const data = [
    {
      id: 'row1',
      title: 'Example title',
      intervals: [
        [
          new Date('2019-08-12').getTime(), // Start of the interval
          new Date('2019-12-20').getTime() // End of the interval
        ],
        [
          new Date('2020-01-04').getTime(),
          new Date('2020-05-20').getTime()
        ]
      ]
    }
  ]

  return (
    <EDSCTimeline
      data={data}
    />
  )
}

Props

Prop Type Required Default Value Description
data array true Array of rows to be displayed on the timeline
center number new Date().getTime() Center timestamp of the timeline
minZoom number 1 Minimum zoom level
maxZoom number 5 Maximum zoom level
zoom number 3 Active zoom level
temporalRange object {} Temporal range ({ start, end }) that is displayed on the timeline
focusedInterval object {} Focused interval ({ start, end }) that is displayed on the timeline
onFocusedSet function Callback function that returns the focused interval when it is set
onTemporalSet function Callback function that returns the temporal range when it is set
onTimelineMove function Callback function called when the timeline is moved
onTimelineMoveEnd function Callback function called when the timeline is finished moving
onArrowKeyPan function Callback function called when arrow keys are used to change the focused interval
onButtonPan function Callback function called when buttons are used to change the focused interval
onButtonZoom function Callback function called when buttons are used to change the zoom level
onDragPan function Callback function called when the timeline is panned using dragging
onFocusedIntervalClick function Callback function called when a focused interval is clicked
onScrollPan function Callback function called when the mouse wheel is used to pan the timeline
onScrollZoom function Callback function called when the mouse wheel is used to change the zoom level

Callback function return value

Every callback function returns this object

{
  center,
  focusedEnd,
  focusedStart,
  temporalEnd,
  temporalStart,
  timelineEnd,
  timelineStart,
  zoom
}

Development

To compile:

npm install

To start the example project for local testing:

npm start

To run the Jest tests:

npm test

To run the Cypress tests:

npm run cypress:run

Contributing

See CONTRIBUTING.md

License

Copyright © 2007-2014 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].