diff --git a/package-lock.json b/package-lock.json index 0d59e09..81c282d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "query-overview", - "version": "2.1.2", + "version": "2.1.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2643,9 +2643,9 @@ } }, "lodash": { - "version": "4.17.11", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==", "dev": true }, "lodash.sortby": { @@ -2775,9 +2775,9 @@ "dev": true }, "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, "requires": { "for-in": "^1.0.2", @@ -3131,7 +3131,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, @@ -3550,9 +3550,9 @@ "dev": true }, "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, "requires": { "extend-shallow": "^2.0.1", @@ -4014,38 +4014,15 @@ "dev": true }, "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, "requires": { "arr-union": "^3.1.0", "get-value": "^2.0.6", "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } + "set-value": "^2.0.1" } }, "unset-value": { diff --git a/package.json b/package.json index 27dcee0..23a64fe 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "query-overview", - "version": "2.1.2", + "version": "2.1.3", "description": "Interactive bar chart for exploration of query data from clinical trials", "module": "./src/index.js", "main": "./queryOverview.js", diff --git a/queryOverview.js b/queryOverview.js index 372f9fe..5b871ea 100644 --- a/queryOverview.js +++ b/queryOverview.js @@ -695,8 +695,10 @@ '.qo-component--controls .wc-controls {' + ' margin-bottom: 0;' + ' display: flex;' + - ' width: 90%;' + + ' width: 100%;' + ' justify-content: space-around;' + + ' border-bottom: 1px solid #aaa;' + + ' margin-bottom: 5px;' + '}', '.qo-control-grouping {' + ' display: inline-block;' + '}', '.qo-button {' + ' float: left;' + ' display: block;' + '}', @@ -716,15 +718,12 @@ Other controls \---------------------------------------------------------------------------------****/ '.qo-control-grouping--other-controls {' + - ' float: left;' + - ' display: flex;' + - ' flex-wrap: wrap;' + - ' justify-content: space-evenly;' + + ' float: right;' + ' width: 25%;' + '}', '.qo-control-grouping--other-controls .control-group {' + ' width: 100%;' + - ' margin-bottom: 15px;' + + ' margin-bottom: 5px;' + '}', '.qo-control-grouping--other-controls .control-group:nth-child(n+3) {' + ' border-top: 1px solid #aaa;' + @@ -732,6 +731,7 @@ '.qo-control-grouping--other-controls .control-group .wc-control-label {' + ' text-align: center;' + ' font-size: 110%;' + + ' width: 100%;' + '}', //dropdowns '.qo-dropdown {' + '}', '.qo-dropdown .wc-control-label {' + '}', @@ -779,8 +779,11 @@ '.qo-component--chart {' + ' width: 100%;' + ' margin: 0 auto;' + + ' margin-bottom: 5px;' + + ' padding-bottom: 5px;' + ' float: left;' + ' position: relative;' + + ' border-bottom: 1px solid #aaa;' + '}', '.qo-button--reset-chart {' + ' position: absolute;' + @@ -799,6 +802,7 @@ ' padding: 3px 0;' + '}', '.qo-component--chart .wc-chart {' + ' z-index: 1;' + '}', + '.qo-component--chart .legend {' + ' width: auto;' + '}', '.qo-component--chart .legend-title {' + ' cursor: help;' + '}', '.qo-component--chart .legend-item {' + ' cursor: pointer;' + @@ -807,10 +811,6 @@ ' padding-left: 8px;' + ' margin-right: 5px !important;' + '}', - '.qo-component--chart .y.axis .tick text {' + - ' font-family: "Lucida Console", "Courier New", "Monospace";' + - ' font-size: 14px;' + - '}', '.qo-footnote {' + ' width: 100%;' + ' text-align: center;' + @@ -852,49 +852,37 @@ } function defineListingSettings() { + var _this = this; + this.listing.config.cols = this.config.details ? this.config.details.map(function(d) { return d.value_col; }) : Object.keys(this.raw_data[0]).filter(function(key) { - return key !== 'Form: Field'; - }); + return ['Form: Field', _this.config.recency_category_col].indexOf(key) < 0; + }); // remove derived variables (recency_category_col is captured in variable queryrecency, derived in ./defineNewVariables) + this.listing.config.headers = this.config.details ? this.config.details.map(function(d) { return d.label; }) : Object.keys(this.raw_data[0]).filter(function(key) { - return key !== 'Form: Field'; + return ['Form: Field', _this.config.recency_category_col].indexOf(key) < 0; }); } function defineNewVariables() { var _this = this; - var queryAgeCol = this.config.status_groups.find(function(status_group) { - return status_group.label === 'Query Age'; - }).value_col; var queryRecencyCol = this.config.filters.find(function(filter) { return filter.label === 'Query Recency'; }).value_col; + var queryAgeCol = this.config.status_groups.find(function(status_group) { + return status_group.label === 'Query Age'; + }).value_col; this.raw_data.forEach(function(d) { //Concatenate form and field to avoid duplicates across forms. - d['Form: Field'] = d[_this.config.form_col] + ': ' + d[_this.config.field_col]; //Define query age. - - if (_this.config.age_statuses.indexOf(d[_this.config.status_col]) < 0) - d[queryAgeCol] = d[_this.config.status_col]; - else { - var age = +d[_this.config.age_col]; - - _this.config.ageRanges.forEach(function(ageRange, i) { - if (i === 0 && ageRange[0] <= age && age <= ageRange[1]) - d[queryAgeCol] = _this.config.ageRangeCategories[i]; - else if (i === _this.config.ageRanges.length - 1 && ageRange[0] < age) - d[queryAgeCol] = _this.config.ageRangeCategories[i]; - else if (ageRange[0] < age && age <= ageRange[1]) - d[queryAgeCol] = _this.config.ageRangeCategories[i]; - }); - } //Define query recency. + d['Form: Field'] = d[_this.config.form_col] + ': ' + d[_this.config.field_col]; //Define query recency. if (d.hasOwnProperty(_this.config.recency_category_col)) { d[queryRecencyCol] = d[_this.config.recency_category_col] || 'N/A'; @@ -912,6 +900,21 @@ else if (recencyRange[0] < recency && recency <= recencyRange[1]) d[queryRecencyCol] = _this.config.recencyRangeCategories[i]; }); + } //Define query age. + + if (_this.config.age_statuses.indexOf(d[_this.config.status_col]) < 0) + d[queryAgeCol] = d[_this.config.status_col]; + else { + var age = +d[_this.config.age_col]; + + _this.config.ageRanges.forEach(function(ageRange, i) { + if (i === 0 && ageRange[0] <= age && age <= ageRange[1]) + d[queryAgeCol] = _this.config.ageRangeCategories[i]; + else if (i === _this.config.ageRanges.length - 1 && ageRange[0] < age) + d[queryAgeCol] = _this.config.ageRangeCategories[i]; + else if (ageRange[0] < age && age <= ageRange[1]) + d[queryAgeCol] = _this.config.ageRangeCategories[i]; + }); } }); } @@ -1636,7 +1639,7 @@ }) ) * this.config.fontSize * - 0.5 + + 0.6 + this.config.fontSize * 1.5 * 1.5 + 6; //Set the left margin to the minimum of one quarter of the container width and the maximum number of characters in the y-axis tick labels (minimum: 100 pixels). @@ -1725,6 +1728,14 @@ this.svg.selectAll('.y.axis .tick').remove(); } + function updateXAxisLabel$1() { + // Make sure that the Y axis Label is tucked safely beneath reset chart button + this.svg + .select('.y.axis') + .select('.axis-title') + .attr('transform', 'translate(5,0)rotate(-90)'); + } + function onDraw() { setLeftMargin.call(this); setXDomain.call(this); @@ -1732,6 +1743,7 @@ setChartHeight.call(this); updateXAxisLabel.call(this); resetYAxisTickLabels.call(this); + updateXAxisLabel$1.call(this); } function legendFilter() { @@ -2379,12 +2391,6 @@ description: 'Number of days between query open date and data extraction date, regardless of query status.' }, - { - variable: this.chart.initialSettings.recency_category_col, - label: 'Query Recency', - description: - 'Number of days by category between query open date and data extraction date, regardless of query status. Categories include last 7, 14, and 30 days.' - }, { variable: 'queryrecency', label: 'Query Recency', @@ -2646,7 +2652,33 @@ } function onDraw$1() { + var _this = this; + + //console.log(this.table.selectAll('thead tr th')); + //console.log(this.table.selectAll('tbody tr:first-child td')); + var variables = Object.keys(this.data.raw[0]) //.sort(d3.ascending) + .map(function(variable, i) { + return { + variable: variable, + column: _this.config.cols.find(function(col) { + return col === variable; + }), + columnIndex: _this.config.cols.findIndex(function(col) { + return col === variable; + }), + header: + _this.config.headers[ + _this.config.cols.findIndex(function(col) { + return col === variable; + }) + ], + headerIndex: _this.config.headers.findIndex(function(col) { + return col === variable; + }) + }; + }); //console.table(variables.sort((a,b) => a.index - b.index)); //Add tooltips to column headers. + addHeaderTooltips.call(this); //Update default Webcharts column sorting. updateColumnSorting.call(this); //Truncate cells with length greater than `settings.truncation_cutoff`. diff --git a/scripts/configuration-wiki.md b/scripts/configuration-wiki.md index 0e167fd..175e140 100644 --- a/scripts/configuration-wiki.md +++ b/scripts/configuration-wiki.md @@ -3,7 +3,7 @@ The most straightforward way to customize query-overview is by using a configura In addition to the standard Webcharts settings several custom settings not available in the base Webcharts library have been added to query-overview to facilitate data mapping and other custom functionality. These custom settings are described in detail below. All defaults can be overwritten by users. # Renderer-specific settings -The sections below describe each query-overview setting as of version 2.1.2. +The sections below describe each query-overview setting as of version 2.1.3. ## settings.site_col `string` @@ -447,7 +447,7 @@ cell text past this cutoff will be truncated and the full text will be captured **default:** `100` # Webcharts settings -The objects below contain Webcharts settings for each display as of version 2.1.2 of the Query Overview. +The objects below contain Webcharts settings for each display as of version 2.1.3 of the Query Overview. ## Chart ``` diff --git a/settings-schema.json b/settings-schema.json index ed43eb1..8fe7653 100644 --- a/settings-schema.json +++ b/settings-schema.json @@ -2,7 +2,7 @@ "title": "settings", "description": "JSON schema for the configuration of query-overview", "overview": "The most straightforward way to customize query-overview is by using a configuration object whose properties describe the behavior and appearance of the chart. Since query-overview is a Webcharts `chart` object, many default Webcharts settings are set in the [chartSettings.js file](https://github.com/RhoInc/query-overview/blob/master/src/configuration/chartSettings.js) as [described below](#webcharts-settings). Refer to the [Webcharts documentation](https://github.com/RhoInc/Webcharts/wiki/Chart-Configuration) for more details on these settings.\nIn addition to the standard Webcharts settings several custom settings not available in the base Webcharts library have been added to query-overview to facilitate data mapping and other custom functionality. These custom settings are described in detail below. All defaults can be overwritten by users.", - "version": "2.1.2", + "version": "2.1.3", "type": "object", "data-guidelines": "The Query Overview accepts [JSON](https://en.wikipedia.org/wiki/JSON) data of the format returned by [`d3.csv()`](https://github.com/d3/d3-3.x-api-reference/blob/master/CSV.md). The renderer visualizes clinical query data with **one row per query** plus the required variables specified below.", "data-structure": "one record per query", diff --git a/src/chart/onDraw.js b/src/chart/onDraw.js index 8e98cc0..ff4b910 100644 --- a/src/chart/onDraw.js +++ b/src/chart/onDraw.js @@ -4,6 +4,7 @@ import setYDomain from './onDraw/setYDomain'; import setChartHeight from './onDraw/setChartHeight'; import updateXAxisLabel from './onDraw/updateXAxisLabel'; import resetYAxisTickLabels from './onDraw/resetYAxisTickLabels'; +import updateYAxisLabel from './onDraw/updateYAxisLabel'; export default function onDraw() { setLeftMargin.call(this); @@ -12,4 +13,5 @@ export default function onDraw() { setChartHeight.call(this); updateXAxisLabel.call(this); resetYAxisTickLabels.call(this); + updateYAxisLabel.call(this); } diff --git a/src/chart/onDraw/setLeftMargin.js b/src/chart/onDraw/setLeftMargin.js index 8868f94..b6b4da5 100644 --- a/src/chart/onDraw/setLeftMargin.js +++ b/src/chart/onDraw/setLeftMargin.js @@ -8,7 +8,7 @@ export default function setLeftMargin() { //Find maximum number of characters in the y-axis tick labels (minimum: 7 characters). this.config.maxYAxisTickLabelLength = - Math.max(7, max(this.y_dom, d => d.length)) * this.config.fontSize * 0.5 + + Math.max(7, max(this.y_dom, d => d.length)) * this.config.fontSize * 0.6 + this.config.fontSize * 1.5 * 1.5 + 6; diff --git a/src/chart/onDraw/updateYAxisLabel.js b/src/chart/onDraw/updateYAxisLabel.js new file mode 100644 index 0000000..7f1e6af --- /dev/null +++ b/src/chart/onDraw/updateYAxisLabel.js @@ -0,0 +1,7 @@ +export default function updateXAxisLabel() { + // Make sure that the Y axis Label is tucked safely beneath reset chart button + this.svg + .select('.y.axis') + .select('.axis-title') + .attr('transform', 'translate(5,0)rotate(-90)'); +} diff --git a/src/chart/onInit/defineListingSettings.js b/src/chart/onInit/defineListingSettings.js index 13f1ae4..745fd96 100644 --- a/src/chart/onInit/defineListingSettings.js +++ b/src/chart/onInit/defineListingSettings.js @@ -1,8 +1,12 @@ export default function defineListingSettings() { this.listing.config.cols = this.config.details ? this.config.details.map(d => d.value_col) - : Object.keys(this.raw_data[0]).filter(key => key !== 'Form: Field'); + : Object.keys(this.raw_data[0]).filter( + key => ['Form: Field', this.config.recency_category_col].indexOf(key) < 0 + ); // remove derived variables (recency_category_col is captured in variable queryrecency, derived in ./defineNewVariables) this.listing.config.headers = this.config.details ? this.config.details.map(d => d.label) - : Object.keys(this.raw_data[0]).filter(key => key !== 'Form: Field'); + : Object.keys(this.raw_data[0]).filter( + key => ['Form: Field', this.config.recency_category_col].indexOf(key) < 0 + ); } diff --git a/src/chart/onInit/defineNewVariables.js b/src/chart/onInit/defineNewVariables.js index b0b0e6d..3ed51a9 100644 --- a/src/chart/onInit/defineNewVariables.js +++ b/src/chart/onInit/defineNewVariables.js @@ -1,29 +1,14 @@ export default function defineNewVariables() { + const queryRecencyCol = this.config.filters.find(filter => filter.label === 'Query Recency') + .value_col; const queryAgeCol = this.config.status_groups.find( status_group => status_group.label === 'Query Age' ).value_col; - const queryRecencyCol = this.config.filters.find(filter => filter.label === 'Query Recency') - .value_col; this.raw_data.forEach(d => { //Concatenate form and field to avoid duplicates across forms. d['Form: Field'] = d[this.config.form_col] + ': ' + d[this.config.field_col]; - //Define query age. - if (this.config.age_statuses.indexOf(d[this.config.status_col]) < 0) - d[queryAgeCol] = d[this.config.status_col]; - else { - const age = +d[this.config.age_col]; - this.config.ageRanges.forEach((ageRange, i) => { - if (i === 0 && ageRange[0] <= age && age <= ageRange[1]) - d[queryAgeCol] = this.config.ageRangeCategories[i]; - else if (i === this.config.ageRanges.length - 1 && ageRange[0] < age) - d[queryAgeCol] = this.config.ageRangeCategories[i]; - else if (ageRange[0] < age && age <= ageRange[1]) - d[queryAgeCol] = this.config.ageRangeCategories[i]; - }); - } - //Define query recency. if (d.hasOwnProperty(this.config.recency_category_col)) { d[queryRecencyCol] = d[this.config.recency_category_col] || 'N/A'; @@ -38,5 +23,20 @@ export default function defineNewVariables() { d[queryRecencyCol] = this.config.recencyRangeCategories[i]; }); } + + //Define query age. + if (this.config.age_statuses.indexOf(d[this.config.status_col]) < 0) + d[queryAgeCol] = d[this.config.status_col]; + else { + const age = +d[this.config.age_col]; + this.config.ageRanges.forEach((ageRange, i) => { + if (i === 0 && ageRange[0] <= age && age <= ageRange[1]) + d[queryAgeCol] = this.config.ageRangeCategories[i]; + else if (i === this.config.ageRanges.length - 1 && ageRange[0] < age) + d[queryAgeCol] = this.config.ageRangeCategories[i]; + else if (ageRange[0] < age && age <= ageRange[1]) + d[queryAgeCol] = this.config.ageRangeCategories[i]; + }); + } }); } diff --git a/src/listing/onDraw.js b/src/listing/onDraw.js index 03ff471..c121cba 100644 --- a/src/listing/onDraw.js +++ b/src/listing/onDraw.js @@ -4,6 +4,20 @@ import truncateCellText from './onDraw/truncateCellText'; import moveScrollBarLeft from './onDraw/moveScrollBarLeft'; export default function onDraw() { + //console.log(this.table.selectAll('thead tr th')); + //console.log(this.table.selectAll('tbody tr:first-child td')); + const variables = Object.keys(this.data.raw[0]) + //.sort(d3.ascending) + .map((variable, i) => { + return { + variable, + column: this.config.cols.find(col => col === variable), + columnIndex: this.config.cols.findIndex(col => col === variable), + header: this.config.headers[this.config.cols.findIndex(col => col === variable)], + headerIndex: this.config.headers.findIndex(col => col === variable) + }; + }); + //console.table(variables.sort((a,b) => a.index - b.index)); //Add tooltips to column headers. addHeaderTooltips.call(this); diff --git a/src/listing/onInit/applyVariableMetadata.js b/src/listing/onInit/applyVariableMetadata.js index b4c45ef..e4e0ac3 100644 --- a/src/listing/onInit/applyVariableMetadata.js +++ b/src/listing/onInit/applyVariableMetadata.js @@ -79,12 +79,6 @@ export default function applyVariableMetadata() { description: 'Number of days between query open date and data extraction date, regardless of query status.' }, - { - variable: this.chart.initialSettings.recency_category_col, - label: 'Query Recency', - description: - 'Number of days by category between query open date and data extraction date, regardless of query status. Categories include last 7, 14, and 30 days.' - }, { variable: 'queryrecency', label: 'Query Recency', diff --git a/src/styles.js b/src/styles.js index ff8784f..9161ab1 100644 --- a/src/styles.js +++ b/src/styles.js @@ -30,8 +30,10 @@ export default function styles(document) { '.qo-component--controls .wc-controls {' + ' margin-bottom: 0;' + ' display: flex;' + - ' width: 90%;' + + ' width: 100%;' + ' justify-content: space-around;' + + ' border-bottom: 1px solid #aaa;' + + ' margin-bottom: 5px;' + '}', '.qo-control-grouping {' + ' display: inline-block;' + @@ -59,17 +61,13 @@ export default function styles(document) { Other controls \---------------------------------------------------------------------------------****/ - '.qo-control-grouping--other-controls {' + - ' float: left;' + - ' display: flex;' + - ' flex-wrap: wrap;' + - ' justify-content: space-evenly;' + + ' float: right;' + ' width: 25%;' + '}', '.qo-control-grouping--other-controls .control-group {' + ' width: 100%;' + - ' margin-bottom: 15px;' + + ' margin-bottom: 5px;' + '}', '.qo-control-grouping--other-controls .control-group:nth-child(n+3) {' + ' border-top: 1px solid #aaa;' + @@ -77,6 +75,7 @@ export default function styles(document) { '.qo-control-grouping--other-controls .control-group .wc-control-label {' + ' text-align: center;' + ' font-size: 110%;' + + ' width: 100%;' + '}', //dropdowns @@ -151,8 +150,11 @@ export default function styles(document) { '.qo-component--chart {' + ' width: 100%;' + ' margin: 0 auto;' + + ' margin-bottom: 5px;' + + ' padding-bottom: 5px;' + ' float: left;' + ' position: relative;' + + ' border-bottom: 1px solid #aaa;' + '}', '.qo-button--reset-chart {' + ' position: absolute;' + @@ -173,6 +175,9 @@ export default function styles(document) { '.qo-component--chart .wc-chart {' + ' z-index: 1;' + '}', + '.qo-component--chart .legend {' + + ' width: auto;' + + '}', '.qo-component--chart .legend-title {' + ' cursor: help;' + '}', @@ -183,10 +188,6 @@ export default function styles(document) { ' padding-left: 8px;' + ' margin-right: 5px !important;' + '}', - '.qo-component--chart .y.axis .tick text {' + - ' font-family: "Lucida Console", "Courier New", "Monospace";' + - ' font-size: 14px;' + - '}', '.qo-footnote {' + ' width: 100%;' + ' text-align: center;' + diff --git a/test-page/index.html b/test-page/index.html index 60a137e..cfb1d62 100644 --- a/test-page/index.html +++ b/test-page/index.html @@ -1,7 +1,7 @@
-