Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging develop to master #5

Merged
merged 76 commits into from
May 24, 2021
Merged

Merging develop to master #5

merged 76 commits into from
May 24, 2021

Conversation

wrightlahiff
Copy link

Releasing Turnilo 1.31 to Skimlinks!

adrianmroz and others added 30 commits June 19, 2020 15:28
* Dispatch timeseries to new barchart

* Basic BarChart

* Adjust sizes for x scale and scroller

* Util for calculating layout for Scroller and chart segment

* Bars and Background component

* Spacer for left floating padding

* VisBottom component should render one pixel higher, so after rounding it renders inside stage

* Helper for serialization of x values - needed by d3 ordinal scale

* xAxis component

* Move around stages for segments and yAxes

* Lint fixes

* Missing files from failed commit's

* Bar component

* Make bars bigger

* calculate ticks for x-axis

* Handle only single time split

* InteractionController

* Implement XScale as custom scale. It's based on ordinal d3 scale, but using quantize scale we provide inverse operation. Additionally, scale accepts XDomain values and use custom serialization.

* lint fixes

* Handle interactions

* Foreground component for displaying tooltips and modals. Interaction now holds whole datum, so Foreground can position itself using x and y coordinates.

* Extract base highlighter component and move line chart specific logic there.

* Move foreground to foreground i.e. after base elements in the DOM tree

* Add Overlay for highlight and position all elements also in y-axis.

* lint fix

* Handle no data case for yScale

* Add total label for barchart

* Show previous period on hover tooltip

* Position ticks correctly

* Move LinearScale out of heatmap directories

* Introduce pickTicks helper

* name magic number

* Reorganize utils for handling plywood datasets

* Move BottomBorder component to commons

* Move highlight-clause utils to commons

* Further moving around files so no visualisations depend on each other.

* Bunch of unit tests

* Basic e2e for bar-chart

* Move y-axis line one pixel left to hide under right-gutter border. That way it will be hidden when scrolling shadow shows.

* Extract components for additional borders for background grid.

* Less domain ticks.

* Pass scrollLeft to totals label on barchart so it can be kept in viewport after bar scroll

* Add spacers for Scroller so they cover scrolled x-axis

* Fix e2e test case
* Move extent helpers outside line-chart and use simple version on bar-chart

* Make bars a little wider

* Calculate y-scale with respect to time shift

* Render double bars when time-shift is on.

* If time-shift is on, draw overlay border around both bars for data point.

* Update src/client/utils/extent/extent.mocha.ts

Fix typo in test description
Bumps [@hapi/hoek](https://github.com/hapijs/hoek) from 8.5.0 to 8.5.1.
- [Release notes](https://github.com/hapijs/hoek/releases)
- [Commits](hapijs/hoek@v8.5.0...v8.5.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [node-sass](https://github.com/sass/node-sass) from 4.12.0 to 4.13.1.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](sass/node-sass@v4.12.0...v4.13.1)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](indutny/elliptic@v6.5.2...v6.5.3)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This takes into account trusted proxy settings, getting the IP as
detected by express when trusted proxy is enabled, and otherwise falling
back to the `request.connection.remoteAddress`, which assumes a direct
request from the client.
* Handle BarChart case with two splits

* BarChartMode - projection of Essence with semantics for BarChart

* Stack layout that's aware of ConcreteSeries

* Because we need order splits as [Nominal, Time] (to guarantee order of nominal series and their stability) we need to transpose results to [Time, Nominal] to simplify data consumption.

* StackedBars components

* Legend component

* Use ChartMode instead of Essence and pass transposed (and stacked if necessary) data to descendant components.

* BarChart manifest now handles time dimension just like LineChart i.e. time split has to have null limit and sort on time and nominal split posiotion is enforced with clamped limit (max number of colors)

* Use proper import convention

* Adjust resolution weights in BarChart manifest, so LineChart would be picked before BarChart

* Remove unnecessary fragment

* Stack dataset only once. Extract few utils.

* BarChartModel rename galore

* replaceAt util

* lint fix

* Fix tests

* Organize common components for displaying tooltip information for series.
* Add classes for better DOM readability

* Add few e2e cases for new bar-chart
* DynamicSubsetFormula domain object

* Apply dynamicSubset

* Few general helpers and tests for them

* Add some safety checks

* Pass plywood to dynamicSubset function and provide getter on the class.

* Use DynamicSubsetFormula.fromJS in fromJS method in DataCube

* Extract applySubset functionality from plywood route
'trust proxy' was set to "1", which trusted only the right-most entry in
X-Forwarded-* headers.  This changes it to "true" so that the left-most
entry is used by express as the client ip.  So if XFF looks like this:

123.234.1.1, 10.1.1.10, 234.123.0.1

We would now see 123.234.1.1 as `req.ip`, which is probably more common
and expected.  Prior to this change it would have been 234.123.0.1

'trust proxy' guide here: expressjs.com/en/guide/behind-proxies.html
And the relevant call stack is:
  turnilo -> express (lib/request.js) -> proxy-addr -> forwarded
Options is an array that contains key username and password

Co-authored-by: Adrian Mróź <adrianmroz@users.noreply.github.com>
* init

* Remove AUTH module

* Reorder npm build scripts a little

* AppSettings are always loaded from the same file as ServerSettings

* We no longer support `dataCubeOfInterest` option

* Split settings getter to simple getter and one with settings refresh. Only root endpoint refreshes settings (if specific option is set in config)

* Move "middlewares" inside app.ts

* Better warning for settings load timeout
* Add plugin settings to ServerSettings

* Inject turniloMetadata on request

* Run plugin modules

* Error handler in express has to define four arguments

* Fix error layout in very simple way

* More robust plugin loading

* Make logger more enterprise'y
* Stop testing node 10 and start testing node 14

* Bump target and available stdlib for server typescript

* Fix README.md:
- change supported versions
- be more specific about development scripts
mkuthan and others added 25 commits February 4, 2021 09:02
…egro#707)

problem:
Time in CSV exported reports are always in UTC timezone irrespective of user
selected timezone in the UI. There are use case when time in the exported
reports should be other timezone than UTC.

fix:
plywood passes the user selected timezone to format function here
https://github.com/implydata/plywood/blob/master/src/datatypes/dataset.ts#L343
We can use that to get time in the user selected timezone. The time in reports
will also have information about timezone because of ISO format.
* assoc util for adding elements to objects

* Table: render measure background whenever scale is provided. Table passes scales only at the bottom level of nested splits.

* Let visualization component override function translating essence to query

* Query function that passes all splits in one object and thus enforces translation to group-by

* Grid component. It is mostly reimplementation of Table.

* Manifest file for Grid. Enforces common sort on measure and same limit value

* Wire up all Grid artifacts

* DruidQueryModal must be aware of visualisation, so it can pick correct query function

* Series are required via visualizationIndependentEvaluator so they should be present in fixtures in unit tests

* Grid should have lower priority than table. At least for now.

* Magic multiplication of limit for Grid query. We add this code only so we can move forward before revamping whole SplitMenu component!
@wrightlahiff wrightlahiff requested a review from rathko May 24, 2021 14:39
Copy link
Member

@rathko rathko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@wrightlahiff wrightlahiff merged commit 7a32e71 into master May 24, 2021
@wrightlahiff wrightlahiff deleted the develop branch May 24, 2021 15:09
@wrightlahiff wrightlahiff restored the develop branch May 25, 2021 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.