Skip to content

Commit

Permalink
[Vislib] Use timestamp on brush event instead of iso dates (#91483) (#…
Browse files Browse the repository at this point in the history
…91622)

* [Vislib] Use timestamp on brush event instead of iso dates

* Fix functional test and update documentation

* Update documentation

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
  • Loading branch information
stratoula and kibanamachine authored Feb 17, 2021
1 parent b3612f1 commit 2b07cc2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 4 deletions.
2 changes: 1 addition & 1 deletion docs/user/dashboard/url-drilldown.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@ Note:
| *Range selection*
| event.from +
event.to
| `from` and `to` values of selected range. Depending on your data, could be either a date or number. +
| `from` and `to` values of the selected range as numbers. +
Tip: Consider using <<helpers, date>> helper for date formatting.

|
Expand Down
9 changes: 8 additions & 1 deletion src/plugins/vis_type_vislib/public/vislib/lib/handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import d3 from 'd3';
import _ from 'lodash';
import MarkdownIt from 'markdown-it';
import moment from 'moment';

import { dispatchRenderComplete } from '../../../../kibana_utils/public';

Expand All @@ -26,6 +27,10 @@ const markdownIt = new MarkdownIt({
linkify: true,
});

const convertToTimestamp = (date) => {
return parseInt(moment(date).format('x'));
};

/**
* Handles building all the components of the visualization
*
Expand Down Expand Up @@ -80,11 +85,13 @@ export class Handler {
case 'brush':
const xRaw = _.get(eventPayload.data, 'series[0].values[0].xRaw');
if (!xRaw) return; // not sure if this is possible?
const [start, end] = eventPayload.range;
const range = [convertToTimestamp(start), convertToTimestamp(end)];
return self.vis.emit(eventType, {
name: 'brush',
data: {
table: xRaw.table,
range: eventPayload.range,
range,
column: xRaw.column,
},
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardDrilldownPanelActions.clickCreateDrilldown();
await dashboardDrilldownsManage.expectsCreateDrilldownFlyoutOpen();

const urlTemplate = `{{kibanaUrl}}/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:'{{event.from}}',to:'{{event.to}}'))&_a=(columns:!(_source),filters:{{rison context.panel.filters}},index:'{{context.panel.indexPatternId}}',interval:auto,query:(language:{{context.panel.query.language}},query:'{{context.panel.query.query}}'),sort:!())`;
const urlTemplate = `{{kibanaUrl}}/app/discover#/?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:'{{date event.from}}',to:'{{date event.to}}'))&_a=(columns:!(_source),filters:{{rison context.panel.filters}},index:'{{context.panel.indexPatternId}}',interval:auto,query:(language:{{context.panel.query.language}},query:'{{context.panel.query.query}}'),sort:!())`;

await dashboardDrilldownsManage.fillInDashboardToURLDrilldownWizard({
drilldownName: DRILLDOWN_TO_DISCOVER_URL,
Expand Down Expand Up @@ -70,10 +70,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await dashboardDrilldownPanelActions.clickActionByText(DRILLDOWN_TO_DISCOVER_URL);

await PageObjects.discover.waitForDiscoverAppOnScreen();

// check that new time range duration was applied
const newTimeRangeDurationHours = await PageObjects.timePicker.getTimeDurationInHours();
expect(newTimeRangeDurationHours).to.be.lessThan(originalTimeRangeDurationHours);
// check that hours duration is more than 1 hour (meaning that the default time range of last 15 minutes has not been applied)
expect(newTimeRangeDurationHours).to.be.greaterThan(1);
});
});

Expand Down

0 comments on commit 2b07cc2

Please sign in to comment.