Skip to content

Commit

Permalink
Feature-flagging this new export type (#35029)
Browse files Browse the repository at this point in the history
  • Loading branch information
joelgriffith authored Apr 17, 2019
1 parent be68e0a commit ec6c7e7
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 6 deletions.
5 changes: 4 additions & 1 deletion x-pack/plugins/reporting/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ export const reporting = (kibana) => {
home: ['plugins/reporting/register_feature'],
managementSections: ['plugins/reporting/views/management'],
injectDefaultVars(server, options) {
const config = server.config();
return {
reportingPollConfig: options.poll
reportingPollConfig: options.poll,
enablePanelActionDownload: config.get('xpack.reporting.csv.enablePanelActionDownload'),
};
},
uiSettingDefaults: {
Expand Down Expand Up @@ -125,6 +127,7 @@ export const reporting = (kibana) => {
}).default()
}).default(),
csv: Joi.object({
enablePanelActionDownload: Joi.boolean().default(false),
maxSizeBytes: Joi.number().integer().default(1024 * 1024 * 10), // bytes in a kB * kB in a mB * 10
scroll: Joi.object({
duration: Joi.string().regex(/^[0-9]+(d|h|m|s|ms|micros|nanos)$/, { name: 'DurationString' }).default('30s'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,13 @@ class GetCsvReportPanelAction extends ContextMenuAction {
return searchEmbeddable.searchScope.searchSource.getSearchRequestBody();
}

// @TODO: Clean this up once we update SavedSearch's interface
// and location in the file-system. `viewMode` also has an enum
// buried inside of the dashboard folder we could use vs a bare string
public isVisible = (panelActionAPI: PanelActionAPI): boolean => {
const enablePanelActionDownload = chrome.getInjected('enablePanelActionDownload');

if (!enablePanelActionDownload) {
return false;
}

const { embeddable, containerState } = panelActionAPI;

return (
Expand Down
6 changes: 5 additions & 1 deletion x-pack/plugins/reporting/server/routes/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ export function registerRoutes(server: KbnServer) {

registerGenerate(server, handler, handleError);
registerLegacy(server, handler, handleError);
registerGenerateCsvFromSavedObject(server, handler, handleError);

if (config.get('xpack.reporting.csv.enablePanelActionDownload')) {
registerGenerateCsvFromSavedObject(server, handler, handleError);
}

registerJobs(server);
}
1 change: 1 addition & 0 deletions x-pack/test/reporting/configs/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ export async function getReportingApiConfig({ readConfigFile }) {
...apiConfig.get('kbnTestServer'),
serverArgs: [
...apiConfig.get('kbnTestServer.serverArgs'),
'--xpack.reporting.csv.enablePanelActionDownload=true',
`--optimize.enabled=true`,
'--logging.events.log', JSON.stringify(['info', 'warning', 'error', 'fatal', 'optimize', 'reporting'])
],
Expand Down
1 change: 1 addition & 0 deletions x-pack/test/reporting/configs/chromium_api.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export default async function ({ readConfigFile }) {
...reportingApiConfig.kbnTestServer,
serverArgs: [
...reportingApiConfig.kbnTestServer.serverArgs,
'--xpack.reporting.csv.enablePanelActionDownload=true',
`--xpack.reporting.capture.browser.type=chromium`,
`--xpack.spaces.enabled=false`,
],
Expand Down
1 change: 1 addition & 0 deletions x-pack/test/reporting/configs/chromium_functional.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export default async function ({ readConfigFile }) {
...functionalConfig.kbnTestServer,
serverArgs: [
...functionalConfig.kbnTestServer.serverArgs,
'--xpack.reporting.csv.enablePanelActionDownload=true',
`--xpack.reporting.capture.browser.type=chromium`,
],
},
Expand Down
1 change: 1 addition & 0 deletions x-pack/test/reporting/configs/functional.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export async function getFunctionalConfig({ readConfigFile }) {
...xPackFunctionalTestsConfig.get('kbnTestServer'),
serverArgs: [
...xPackFunctionalTestsConfig.get('kbnTestServer.serverArgs'),
'--xpack.reporting.csv.enablePanelActionDownload=true',
'--logging.events.log', JSON.stringify(['info', 'warning', 'error', 'fatal', 'optimize', 'reporting'])
],
},
Expand Down
9 changes: 8 additions & 1 deletion x-pack/test/reporting/configs/generate_api.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { getReportingApiConfig } from './api';
export default async function ({ readConfigFile }) {
const apiTestConfig = await getApiIntegrationConfig({ readConfigFile });
const reportingApiConfig = await getReportingApiConfig({ readConfigFile });
const xPackFunctionalTestsConfig = await readConfigFile(require.resolve('../../functional/config.js'));

return {
...reportingApiConfig,
Expand All @@ -19,7 +20,13 @@ export default async function ({ readConfigFile }) {
...apiTestConfig.services,
...reportingApiConfig.services,
},
kbnTestServer: apiTestConfig.kbnTestServer,
kbnTestServer: {
...xPackFunctionalTestsConfig.get('kbnTestServer'),
serverArgs: [
...xPackFunctionalTestsConfig.get('kbnTestServer.serverArgs'),
'--xpack.reporting.csv.enablePanelActionDownload=true',
],
},
esArchiver: apiTestConfig.esArchiver,
};
}

0 comments on commit ec6c7e7

Please sign in to comment.