Skip to content

Releases: nteract/semiotic

Multi-Accessor

15 Jul 18:38
Compare
Choose a tag to compare

Features

  • XYFrame and OrdinalFrame now accept arrays of accessors for oAccessor, rAccessor, xAccessor, yAccessor, lineDataAccessor, and areaDataAccessor. which allows you to create something like this:

screen shot 2018-07-15 at 10 56 12 am

From a single dataset with code like this:

<XYFrame
      areas={[{ coordinates: pointTestData }]}
      areaDataAccessor={[
        d => d.coordinates.filter(p => p.color === "#4d430c"),
        d => d.coordinates.filter(p => p.color === "#00a2ce")
      ]}
      areaType={{ type: "contour", thresholds: 5 }}
      xAccessor="x"
      yAccessor="y"
      areaStyle={d => {
        return {
          stroke: d.parentArea._baseData[0].color,
          fill: "none",
          strokeOpacity: 0.5,
          strokeWidth: 3,
          strokeDasharray: "15 5"
        }
      }}
    />

Notice the array in areaDataAccessor. This convenience could be improved by somehow decorating the data to know how it was made but for now that's not available. In the case of annotations, the annotation will be applied to the first valid accessor and not to all valid accessors.

Fixes

  • sortO is finally back to normal
  • Default stroke for radial annotations
  • Fix a few examples that had grown screwy
  • Add default stroke of black and fill of none for regular lines in XYFrame
  • Extent when sent as a complex object to XYFrame wouldn't cause a rerender

Fix ordinal sort order

12 Jul 20:52
Compare
Choose a tag to compare

Fixes

  • OrdinalFrame sorting of columns was defaulting to the wrong order after introduction of more involved sorting options.

Responsive Fix, React-Annotation

11 Jul 16:24
Compare
Choose a tag to compare

Fixes

  • A custom sankey (like the original d3-sankey) sent to customSankey in networkType would fail if you didn't send any nodePadding
  • ResponsiveFrame was sharing the isResizing var across instantiations

Features

  • Upgrade to react-annotation 1.3.0
  • events is passed to the underlying react annotation, if events is passed to <Annotation> then it will automatically have pointer-events turned on.

Sorting, Simple Lines

11 Jul 04:52
Compare
Choose a tag to compare

Fixes

  • Basic lines in XYFrame are no longer drawn with two-sided areas. That means they need to have their fill set as you would a normal line and that they will not do an animated transition into a stacked chart. This was done to resolve a long-term Chrome rendering bug with SVG that couldn't handle single pixel-width perfectly straight areas. It also cured the poor honoring of stroke-dasharray since technically these lines were one on top of the other.
  • sortO in OrdinalFrame is now passed the column details in new third and fourth parameters so you can set a function to sort based on column data like sortO={(columnAName,columnBName,columnAData,columnBData) => your sorting logic here}
  • Joy plots can have an ordinal axis if you don't have enough axes in your life already. They're set with an axis property of the summaryType that obeys the same axis settings seen elsewhere in Semiotic.
  • InteractionLayer should be properly redrawing overlays and interaction regions. It wouldn't update these regions with resizing and also had issues recognizing when NetworkFrame was sending point-based and area-based regions
  • parentLine will now show up as an attribute of a calculated annotation in situations where that makes sense

Features

  • ResponsiveFrames will by default debounce by 200ms (they'll wait until there has been no resizing in the last 200ms to fire a resize). You can change this by sending your frame a different debounce property
  • sortGroups (for Chord diagrams) is honored as a passthrough on networkType

Little Fixes Part The Latest

23 Jun 02:46
Compare
Choose a tag to compare

Fixes

  • The way unique values in OrdinalFrame were being calculated ran into issues with the most common polyfilled version of IE11 making the charts not render in IE11
  • null/undefined in your array of annotations (or functions returning such) sent to hoverAnnotation could trigger the default annotation instead of no annotation at all.
  • Calculated extents in XYFrame (when sending a partial extent like yExtent={[0,undefined]} were having strange effects with Responsive frames.

Fix unpkg

21 Jun 16:54
Compare
Choose a tag to compare

Bugs

  • This resolves the issue with the unpkg dist failing on the element-resize code.
  • NetworkFrame wasn't properly resizing when the frame size changed

Vendorize

14 Jun 18:27
Compare
Choose a tag to compare

Hopefully this finally resolves a few persistent issues with yarn and npm related to dependencies that were pointed at repos (element-resize-event which I'd forked to add support for tabindex as well as Rough which I'd forked and built to ES5).

Accessible Tooltip Fix

13 Jun 19:51
Compare
Choose a tag to compare

FIXES

  • Accessible tooltips in ordinal summary types and node/edge weren't being passed the same data as was passed on mouse hover
  • Custom node and edge marks were sometimes not being honored
  • NetworkFrame iterations settings were not being honored

CHORES

  • CircleCI status added to readme (thanks @rgbkrk)
  • Vendorize element-resize-event and rough so that Semiotic points to NPM versions of each rather than direct to repos.

Highlight Annotation for NetworkFrame, CI, Flow

12 Jun 17:04
Compare
Choose a tag to compare

FIXES

  • Ordinal overlays should complain about overlapping keys
  • Stringify Ordinal keys when non-strings are passed (like dates)
  • Resolve rollup download button this complaint (thanks @rgbkrk)

FEATURES

  • NetworkFrame gets highlight annotation finally
    itt_muse_2

CHORE

  • Implement CI (Thanks @rgbkrk!)
  • Implement Flow (Thanks, I think, @rgbkrk!)
  • Clean up scripts (Thanks @rgbkrk!)
  • Clean up rollup (Thanks @rgbkrk!)

NetworkFrame Hover Fix, Build Updates

31 May 18:21
Compare
Choose a tag to compare

FIXES

  • NetworkFrame hover wasn't working for traditional network charts

CHORES

  • Add flow for typing (thanks @rgbkrk!)
  • Lots of build and script cleanup (thanks @rgbkrk!)
  • Fix unit tests (thanks @puria!)