Skip to content

Commit

Permalink
Splitted and moved Exporting module.
Browse files Browse the repository at this point in the history
  • Loading branch information
marvin19 authored and TorsteinHonsi committed Jul 7, 2021
1 parent 47dfb49 commit c960588
Show file tree
Hide file tree
Showing 22 changed files with 1,709 additions and 1,407 deletions.
2 changes: 1 addition & 1 deletion samples/highcharts/exporting/multiple-charts/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Highcharts.exportCharts = function (charts, options) {
options = Highcharts.merge(Highcharts.getOptions().exporting, options);

// Post to export server
Highcharts.post(options.url, {
Highcharts.Chart.prototype.post(options.url, {
filename: options.filename || 'chart',
type: options.type,
width: options.width,
Expand Down
7 changes: 4 additions & 3 deletions samples/unit-tests/exporting/backgroundcolor/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ QUnit.test('Capture POST', function (assert) {
}
});

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

try {
var postData;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
postData = data;
};

Expand All @@ -68,6 +68,7 @@ QUnit.test('Capture POST', function (assert) {
backgroundColor: '#ffeeff'
}
});

assert.strictEqual(postData.type, 'image/png', 'Posting for PNG');

assert.strictEqual(typeof postData.svg, 'string', 'SVG is there');
Expand All @@ -84,6 +85,6 @@ QUnit.test('Capture POST', function (assert) {
'Solid background is there'
);
} finally {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
}
});
7 changes: 4 additions & 3 deletions samples/unit-tests/exporting/buttons/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -122,21 +122,22 @@ QUnit.test('Export buttons', function (assert) {

assert.strictEqual(button.nodeName, 'g', 'Button is there');

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

try {
var postData;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
postData = data;
};

// Click it
Highcharts.fireEvent(button, 'click');

assert.strictEqual(postData.type, 'image/png', 'Posting for PNG');
assert.strictEqual(typeof postData.svg, 'string', 'SVG is posted');
} finally {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
}
});

Expand Down
6 changes: 3 additions & 3 deletions samples/unit-tests/exporting/exportchart/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ QUnit.test('Testing exportChart', function (assert) {
}
});

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

try {
var postData;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
postData = data;
};

Expand All @@ -60,6 +60,6 @@ QUnit.test('Testing exportChart', function (assert) {
'Custom filename'
);
} finally {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
}
});
10 changes: 5 additions & 5 deletions samples/unit-tests/exporting/filename/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,12 @@ QUnit.test('POST filename', function (assert) {
}
});

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

try {
var postData;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
postData = data;
};

Expand All @@ -114,10 +114,10 @@ QUnit.test('POST filename', function (assert) {
'File name came through'
);
} finally {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
}
try {
Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
postData = data;
};

Expand All @@ -133,7 +133,7 @@ QUnit.test('POST filename', function (assert) {
'Forward slash in filename was replaced'
);
} finally {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
}
});

Expand Down
8 changes: 4 additions & 4 deletions samples/unit-tests/exporting/scale/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ QUnit.skip('Exported chart scale', function (assert) {
count = 0;

function testScale(scale) {
var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
function serialize(obj) {
var str = [];

Expand Down Expand Up @@ -88,15 +88,15 @@ QUnit.skip('Exported chart scale', function (assert) {

count++;
if (count === 2) {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
done();
}
};
},
error: function () {
count++;
if (count === 2) {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;

console.log(
assert.test.testName,
Expand Down
8 changes: 4 additions & 4 deletions samples/unit-tests/exporting/sourcewidth/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ QUnit.skip('Exported chart sourceWidth and sourceHeight', function (assert) {
}),
done = assert.async();

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
function serialize(obj) {
var str = [];

Expand Down Expand Up @@ -98,12 +98,12 @@ QUnit.skip('Exported chart sourceWidth and sourceHeight', function (assert) {

document.body.appendChild(img);

Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
done();
};
},
error: function () {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;

console.log(
assert.test.testName,
Expand Down
6 changes: 3 additions & 3 deletions samples/unit-tests/exporting/type/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,17 @@ QUnit.test('Test type option with exportChart', function (assert) {
}),
postData;

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

try {
Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
postData = data;
};

// Run export
chart.exportChart();
assert.strictEqual(postData.type, 'image/jpeg', 'Posting for JPG');
} finally {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
}
});
8 changes: 4 additions & 4 deletions samples/unit-tests/exporting/width/demo.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,9 @@ QUnit.skip('Exported chart width', function (assert) {
}),
done = assert.async();

var originalPost = Highcharts.post;
var originalPost = Highcharts.Chart.prototype.post;

Highcharts.post = function (url, data) {
Highcharts.Chart.prototype.post = function (url, data) {
function serialize(obj) {
var str = [];

Expand Down Expand Up @@ -78,13 +78,13 @@ QUnit.skip('Exported chart width', function (assert) {
'Generated image is 200px'
);

Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;

done();
};
},
error: function () {
Highcharts.post = originalPost;
Highcharts.Chart.prototype.post = originalPost;
console.log(
assert.test.testName,
'Export server XHR error or timeout'
Expand Down
9 changes: 6 additions & 3 deletions ts/Accessibility/Options/Options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ declare module '../../Core/Options'{
}
}

declare module '../../Extensions/Exporting/ExportingOptions' {
interface ExportingOptions {
accessibility?: Highcharts.ExportingAccessibilityOptions;
}
}

/**
* Internal types.
* @private
Expand Down Expand Up @@ -150,9 +156,6 @@ declare global {
interface ExportingAccessibilityOptions {
enabled: boolean;
}
interface ExportingOptions {
accessibility?: ExportingAccessibilityOptions;
}
interface FocusBorderStyleObject {
borderRadius?: number;
color?: ColorType;
Expand Down
1 change: 1 addition & 0 deletions ts/Extensions/Annotations/Annotations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import type { DataLabelOverflowValue } from '../../Core/Series/DataLabelOptions'
import type EventCallback from '../../Core/EventCallback';
import type FormatUtilities from '../../Core/FormatUtilities';
import type MockPointOptions from './MockPointOptions';
import type NavigationOptions from '../Exporting/NavigationOptions';
import type Options from '../../Core/Options';
import type Point from '../../Core/Series/Point';
import type Series from '../../Core/Series/Series';
Expand Down
26 changes: 15 additions & 11 deletions ts/Extensions/Annotations/NavigationBindings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

import type { HTMLDOMElement } from '../../Core/Renderer/DOMElementType';
import type MockPointOptions from './MockPointOptions';
import type NavigationOptions from '../Exporting/NavigationOptions';
import type Pointer from '../../Core/Pointer';
import type PointerEvent from '../../Core/PointerEvent';

Expand Down Expand Up @@ -57,6 +58,16 @@ declare module '../../Core/PointerEvent' {
}
}

declare module '../Exporting/NavigationOptions' {
interface NavigationOptions {
annotationsOptions?: DeepPartial<Highcharts.AnnotationsOptions>;
bindings?: Record<string, Highcharts.NavigationBindingsOptionsObject>;
bindingsClassName?: string;
events?: Highcharts.NavigationEventsOptions;
iconsURL?: string;
}
}

/**
* Internal types.
* @private
Expand Down Expand Up @@ -110,13 +121,6 @@ declare global {
selectButton?: Function;
showPopup?: Function;
}
interface NavigationOptions {
annotationsOptions?: DeepPartial<AnnotationsOptions>;
bindings?: Record<string, NavigationBindingsOptionsObject>;
bindingsClassName?: string;
events?: NavigationEventsOptions;
iconsURL?: string;
}
}
}

Expand Down Expand Up @@ -337,7 +341,7 @@ class NavigationBindings {

public constructor(
chart: Highcharts.AnnotationChart,
options: Highcharts.NavigationOptions
options: NavigationOptions
) {
this.chart = chart;
this.options = options;
Expand All @@ -361,7 +365,7 @@ class NavigationBindings {
public eventsToUnbind: Array<Function>;
public mouseMoveEvent?: (false|Function);
public nextEvent?: (false|Function);
public options: Highcharts.NavigationOptions;
public options: NavigationOptions;
public popup?: Highcharts.Popup;
public selectedButtonElement?: (HTMLDOMElement|null);
public selectedButton: (Highcharts.NavigationBindingsOptionsObject|null) = void 0 as any;
Expand Down Expand Up @@ -487,7 +491,7 @@ class NavigationBindings {
public initUpdate(): void {
const navigation = this;
chartNavigationMixin.addUpdate(
function (options: Highcharts.NavigationOptions): void {
function (options: NavigationOptions): void {
navigation.update(options);
},
this.chart
Expand Down Expand Up @@ -998,7 +1002,7 @@ class NavigationBindings {
* @private
* @function Highcharts.NavigationBindings#update
*/
public update(options?: Highcharts.NavigationOptions): void {
public update(options?: NavigationOptions): void {
this.options = merge(true, this.options, options);
this.removeEvents();
this.initEvents();
Expand Down
15 changes: 9 additions & 6 deletions ts/Extensions/ExportData.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,14 @@ declare module '../Core/Series/SeriesOptions' {
}
}

declare module './Exporting/ExportingOptions' {
interface ExportingOptions {
csv?: Highcharts.ExportingCsvOptions;
showTable?: boolean;
tableCaption?: (boolean|string);
}
}

/**
* Internal types
* @private
Expand All @@ -127,11 +135,6 @@ declare global {
itemDelimiter?: (string|null);
lineDelimiter?: string;
}
interface ExportingOptions {
csv?: ExportingCsvOptions;
showTable?: boolean;
tableCaption?: (boolean|string);
}
interface ExportDataPoint {
series: ExportDataSeries;
x?: number;
Expand Down Expand Up @@ -1241,7 +1244,7 @@ function getBlobFromContent(

try {
// MS specific
if (nav.msSaveOrOpenBlob && win.MSBlobBuilder) {
if ((nav.msSaveOrOpenBlob) && win.MSBlobBuilder) {
const blob = new win.MSBlobBuilder();
blob.append(content);
return blob.getBlob('image/svg+xml') as any;
Expand Down
Loading

0 comments on commit c960588

Please sign in to comment.