Git Product home page Git Product logo

d3.timeslider's People

Stargazers

 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

d3.timeslider's Issues

Improve labelling

Sometimes it's difficult to correctly interpret the labels. Right now the start of time periods are labelled. I'd propose to investigate labelling periods instead maybe using some sort of a dashed background.

Dragging Time Line not only on labels

Upper halve for selection works as expected, bottom halve should allow dragging clicking everywhere not only on labels. Mouse over should be hand symbol, while dragging closed hand symbol.

time-slider breaks in Firefox

There is apparently a bug in the time-slider which breaks the time-slider in Firefox browser (v18) after using it (zooming in/out and moving time-line forth and back, brush changes and browser window resizing) for some time.

The effect starts by small abrupt misalignments in the displayed data-items, data-ticks, and time-line ticks.

Once it appears, soon or later, all the displayed items disappear leaving just an empty time-slider widget with single black horizontal line across.

This bug appears randomly and no obvious cause has been observed.

Time displayed in axis description while mouse over

I had a look at how cubism.js displays what the time is where the mouse is, which looks pretty good to me. It can be seen here:
http://square.github.io/cubism/

It seems he has written a thin wrapper for the d3 axis object which i think we could reuse. It can be found here:
https://github.com/square/cubism/blob/master/src/axis.js

The code i think is of interest is the one that follows:

context.on("change.axis-" + id, function() {
      g.call(axis_);
      if (!tick) tick = d3.select(g.node().appendChild(g.selectAll("text").node().cloneNode(true)))
          .style("display", "none")
          .text(null);
    });

    context.on("focus.axis-" + id, function(i) {
      if (tick) {
        if (i == null) {
          tick.style("display", "none");
          g.selectAll("text").style("fill-opacity", null);
        } else {
          tick.style("display", null).attr("x", i).text(format(scale.invert(i)));
          var dx = tick.node().getComputedTextLength() + 6;
          g.selectAll("text").style("fill-opacity", function(d) { return Math.abs(scale(d) - i) < dx ? 0 : 1; });
        }
      }
    });

Time-slider breaks if collection name contains colon character `:`

As the title says, the time-slider is not able coop with collection name containing one or more colon characters :.

If, in the client, a layer with the above described document is selected, the time slider crashes (reported by the browser console) and either it does not pop-up (if it is supposed to be displayed) or does not show any tick for the selected layer (if already displayed).

This pose a serious issue is it prevents use of URNs as collection identifies.

Limit panning

While it is possible to limit zooming, user can still pan to periods outside the valid area. It would be great to limit panning as well.

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.