From bfdebaceed03b7aa839f7d75fe6aa083ce4f19aa Mon Sep 17 00:00:00 2001 From: kadevgraaf Date: Mon, 29 Oct 2018 09:33:09 +0100 Subject: [PATCH] Revert "Swik 2103 support for nv3 d charts in front end" --- assets/css/nv.d3.min.css | 2 - .../SlideEditPanel/SlideContentEditor.js | 40 ++-- .../SlideViewPanel/SlideContentView.js | 6 - .../Deck/ContentPanel/util/ChartRender.js | 172 ------------------ components/Deck/Presentation/Presentation.js | 5 +- components/DefaultHTMLLayout.js | 1 - package.json | 2 - server.js | 2 - webpack/dev.config.js | 5 +- webpack/prod.config.js | 4 - 10 files changed, 16 insertions(+), 223 deletions(-) delete mode 100644 assets/css/nv.d3.min.css delete mode 100644 components/Deck/ContentPanel/util/ChartRender.js diff --git a/assets/css/nv.d3.min.css b/assets/css/nv.d3.min.css deleted file mode 100644 index b8a5c0f1a..000000000 --- a/assets/css/nv.d3.min.css +++ /dev/null @@ -1,2 +0,0 @@ -.nvd3 .nv-axis line,.nvd3 .nv-axis path{fill:none;shape-rendering:crispEdges}.nv-brush .extent,.nvd3 .background path,.nvd3 .nv-axis line,.nvd3 .nv-axis path{shape-rendering:crispEdges}.nv-distx,.nv-disty,.nv-noninteractive,.nvd3 .nv-axis,.nvd3.nv-pie .nv-label,.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvd3 .nv-axis{opacity:1}.nvd3 .nv-axis.nv-disabled,.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3 .nv-axis path{stroke:#000;stroke-opacity:.75}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{stroke:#e5e5e5}.nvd3 .nv-axis .zero line, .nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:700}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:#add8e6}.nvd3 .nv-bars text{fill:transparent}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-discretebar .nv-groups rect,.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick,.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover,.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:700;fill:rgba(0,0,0,1);stroke:transparent}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover,.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:#000}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-markerLine{stroke:#000;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:700}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nv-force-node{stroke:#fff;stroke-width:1.5px}.nv-force-link{stroke:#999;stroke-opacity:.6}.nv-force-node text{stroke-width:0}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.nvd3 .nv-groups .nv-point.hover,.nvd3.nv-scatter .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{box-shadow:0 5px 10px rgba(0,0,0,.2);border-radius:5px}.nvd3 text{font:400 12px Arial,sans-serif}.nvd3 .title{font:700 14px Arial,sans-serif}.nvd3 .nv-background{fill:#fff;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:700}.nv-brush .extent{fill-opacity:.125}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}@media print{.nvd3 text{stroke-width:0;fill-opacity:1}}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:#000;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;stroke:#fff;stroke-width:1px;stroke-opacity:1;fill-opacity:.7}.nvd3.nv-pie .hover path{fill-opacity:1}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-interactiveGuideLine,.nvtooltip{pointer-events:none}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:400}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:700;font-size:1.1em}.nvtooltip h3,.nvtooltip table td.key{font-weight:400}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;color:rgba(0,0,0,1);padding:1px;z-index:10000;display:block;font-family:Arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:rgba(255,255,255,.8);border:1px solid rgba(0,0,0,.5);border-radius:4px}.nvtooltip h3,.nvtooltip p{margin:0;text-align:center}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{padding:4px 14px;line-height:18px;background-color:rgba(247,247,247,.75);color:rgba(0,0,0,1);border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.nvtooltip p{padding:5px 14px}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key.total{font-weight:700}.nvtooltip table td.value{text-align:right;font-weight:700}.nvtooltip table td.percent{color:#a9a9a9}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{vertical-align:middle;width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 line.nv-guideline{stroke:#ccc} -/*# sourceMappingURL=nv.d3.min.css.map */ \ No newline at end of file diff --git a/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js b/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js index b930eb367..fd46574ba 100644 --- a/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js +++ b/components/Deck/ContentPanel/SlideModes/SlideEditPanel/SlideContentEditor.js @@ -1,35 +1,32 @@ -import {connectToStores} from 'fluxible-addons-react'; -import {NavLink, navigateAction} from 'fluxible-router'; import PropTypes from 'prop-types'; import React from 'react'; -let ReactDOM = require('react-dom'); - -import ChartRender from '../../util/ChartRender'; +import {NavLink, navigateAction} from 'fluxible-router'; +import {connectToStores} from 'fluxible-addons-react'; +import SlideEditStore from '../../../../../stores/SlideEditStore'; import DataSourceStore from '../../../../../stores/DataSourceStore'; -import DeckTreeStore from '../../../../../stores/DeckTreeStore'; -import { findDOMNode } from 'react-dom'; -import {FormattedMessage, defineMessages} from 'react-intl'; -import handleDroppedFile from '../../../../../actions/media/handleDroppedFile'; -import {HotKeys} from 'react-hotkeys'; +import SlideViewStore from '../../../../../stores/SlideViewStore'; import MediaStore from '../../../../../stores/MediaStore'; -import {Microservices} from '../../../../../configs/microservices'; import PaintModalStore from '../../../../../stores/PaintModalStore'; +import addSlide from '../../../../../actions/slide/addSlide'; import saveSlide from '../../../../../actions/slide/saveSlide'; import editImageWithSrc from '../../../../../actions/paint/editImageWithSrc'; import editSVGwithSVG from '../../../../../actions/paint/editSVGwithSVG'; import loadSlideAll from '../../../../../actions/slide/loadSlideAll'; +import handleDroppedFile from '../../../../../actions/media/handleDroppedFile'; import contentEditorClick from '../../../../../actions/slide/contentEditorClick'; //import ResizeAware from 'react-resize-aware'; -import SlideEditStore from '../../../../../stores/SlideEditStore'; -import SlideViewStore from '../../../../../stores/SlideViewStore'; +import { findDOMNode } from 'react-dom'; +import UserProfileStore from '../../../../../stores/UserProfileStore'; +import {Microservices} from '../../../../../configs/microservices'; +import DeckTreeStore from '../../../../../stores/DeckTreeStore'; //import TemplateDropdown from '../../../../common/TemplateDropdown'; +import {HotKeys} from 'react-hotkeys'; import UploadMediaModal from '../../../../common/UploadMediaModal'; -import UserProfileStore from '../../../../../stores/UserProfileStore'; import Util from '../../../../common/Util'; +import {FormattedMessage, defineMessages} from 'react-intl'; import changeSlideSizeText from '../../../../../actions/slide/changeSlideSizeText'; - - +let ReactDOM = require('react-dom'); class SlideContentEditor extends React.Component { constructor(props) { @@ -1103,7 +1100,7 @@ class SlideContentEditor extends React.Component { //CKEDITOR.instances.inlineContent.on('blur',(evt) => { // return false; //}); - + CKEDITOR.instances.inlineContent.on('focus',(evt) => { this.context.executeAction(contentEditorClick, { focus: true @@ -1210,11 +1207,6 @@ class SlideContentEditor extends React.Component { this.correctDimensionsBoxesImg(); this.resetZIndexSpeakerNotes(); - //('img'); - - // WARNING: Since this function is affected by the usage of contextMenuAll I decided to put it here right after of it... - ChartRender.renderCharts(true); - let slideSizeTextTemp; if (this.refs.inlineContent.innerHTML.includes('pptx2html')) { @@ -1235,10 +1227,6 @@ class SlideContentEditor extends React.Component { // add to the mathjax rendering queue the command to type-set the inlineContent //MathJax.Hub.Queue(['Typeset',MathJax.Hub,'inlineContent']); this.resize(); - - // WARNING: Since this function is affected by the usage of contextMenuAll I decided to put it here right after of it... - ChartRender.renderCharts(false); - } correctDimensionsBoxesIframe() diff --git a/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js b/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js index 43b967e95..794972946 100644 --- a/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js +++ b/components/Deck/ContentPanel/SlideModes/SlideViewPanel/SlideContentView.js @@ -1,7 +1,6 @@ import PropTypes from 'prop-types'; import React from 'react'; import {findDOMNode} from 'react-dom'; -import ChartRender from '../../util/ChartRender'; import {connectToStores} from 'fluxible-addons-react'; import SlideViewStore from '../../../../../stores/SlideViewStore'; const ReactDOM = require('react-dom'); @@ -34,14 +33,9 @@ class SlideContentView extends React.Component { //window.addEventListener('resize', this.handleResize); } this.forceUpdate(); - - // Resize of charts only necessary here. - ChartRender.renderCharts(true); - } componentDidUpdate() { - ChartRender.renderCharts(false); // update mathjax rendering // add to the mathjax rendering queue the command to type-set the inlineContent MathJax.Hub.Queue(['Typeset',MathJax.Hub,'inlineContent']); diff --git a/components/Deck/ContentPanel/util/ChartRender.js b/components/Deck/ContentPanel/util/ChartRender.js deleted file mode 100644 index c1716348e..000000000 --- a/components/Deck/ContentPanel/util/ChartRender.js +++ /dev/null @@ -1,172 +0,0 @@ -import d3 from 'd3'; -import nv from 'nvd3'; - -class ChartRender { - - static renderCharts(resize){ - - let charts = $('div[id^=chart]'); - - if (charts.length === 0 ) { - return 0; - } - - for (let i = 0; i < charts.length; i++){ - - let id = charts[i].getAttribute('id'); - - if ($('#' + id).has('svg').length) { // case when some svg is already created inside the chart. - $('#' + id).children('svg').remove(); // re-render just in case for resizing. - } - - let data = null; - let chart = null; - - let jsonChart = JSON.parse( charts[i].getAttribute('datum')); - - if (jsonChart === null) return; - let chartID = jsonChart.chartID; - let chartType = jsonChart.chartType; - let chartData = jsonChart.chartData; - let title = null; - - switch (chartType) { - case 'areaChart': - case 'area3DChart': - data = chartData; - chart = nv.models.stackedAreaChart() - .clipEdge(true) - .useInteractiveGuideline(true); - chart.xAxis.tickFormat( (d) => { return chartData[0].xlabels[d] || d; }); - break; - case 'barChart': - case 'bar3DChart': - case 'radarChart': - case 'surface3DChart': - data = chartData; - chart = nv.models.multiBarChart(); - chart.xAxis.tickFormat( (d) => { return chartData[0].xlabels[d] || d; }); - break; - case 'doughnutChart': - title = chartData[0].key; - let data = []; - for (let k = 0; k < chartData[0].values.length; k++) { - data.push({ - label: chartData[0].xlabels[k][0], - value: chartData[0].values[k].y - }); - } - chartData = data; - chart = nv.models.pieChart() - .x((d) => { return d.label; }) - .y((d) => { return d.value; }) - .showLabels(true) - .labelThreshold(.05) - .labelType('percent') - .donut(true) - .donutRatio(0.35); - break; - case 'lineChart': - case 'line3DChart': - data = chartData; - chart = nv.models.lineChart() - .useInteractiveGuideline(true); - chart.xAxis.tickFormat( (d) => { return chartData[0].xlabels[d] || d; }); - break; - case 'pie3DChart': - data = []; - for (let k = 0; k < chartData[0].values.length; k++) { - data.push({ - label: chartData[0].xlabels[k][0], - value: chartData[0].values[k].y - }); - } - chart = nv.models.pieChart() - .x((d) => { return d.label; }) - .y((d) => { return d.value; }) - .showLabels(true); - chartData = data; - break; - case 'pieChart': - case 'ofPieChart': - data = []; - for (let k = 0; k < chartData[0].values.length; k++) { - data.push({ - label: chartData[0].xlabels[k][0], - value: chartData[0].values[k].y - }); - } - chart = nv.models.pieChart() - .x((d) => { return d.label; }) - .y((d) => { return d.value; }) - .showLabels(true); - chartData = data; - break; - case 'scatterChart': - data = []; - for (let k = 0; k < chartData.length; k++) { - data.push({ - key: chartData[k].key, - values: [] - }); - - for (let h = 0; h < chartData[k].values.length; h++) { - data[k].values.push({ - x: chartData[k].values[h].x, - y: chartData[k].values[h].y - }); - } - } - - chart = nv.models.scatterChart() - .showDistX(true) - .showDistY(true) - .color(d3.scale.category10().range()); - - chart.xAxis.axisLabel('X').tickFormat(d3.format('.02f')); - chart.yAxis.axisLabel('Y').tickFormat(d3.format('.02f')); - chartData = data; - break; - default: - break; - } - - if (chart !== null) { - let h = $('#' + chartID).height(); - let w = $('#' + chartID).width(); - // Auxiliar sleep function for the asynchronous rendering. - let sleep = (ms) => { - return new Promise((resolve) => setTimeout(resolve,ms)); - }; - // Async function that waits one second to render the charts, so that the component mounts properly all - // its components. - let renderChart = async () => { - // Black Magic Trick to avoid multiple rendering of charts due to multiple updates in the component. - let ghostDiv = ''; - let ghostDivExists = $('#' + chartID + 'ghost').length; - if (ghostDivExists) return; - // Black Magic Ends here. - $('#' + chartID).append(ghostDiv); - await sleep(1000); - let titleExists = $('#' + chartID + 'title').length; - if (title && !titleExists) { - let $chartDiv = $('#' + chartID); - $chartDiv.append('
' + title + '
'); - } - d3.select('#' + chartID) - .append('svg') - .datum(chartData) - .call(chart) - .style({'width': w, 'height': h}); - }; - renderChart(); - } - } - - if (resize) { - window.dispatchEvent(new Event('resize')); - } - } -} - -export default ChartRender; diff --git a/components/Deck/Presentation/Presentation.js b/components/Deck/Presentation/Presentation.js index 4765fbb82..6cf89303d 100644 --- a/components/Deck/Presentation/Presentation.js +++ b/components/Deck/Presentation/Presentation.js @@ -5,8 +5,7 @@ import PresentationSlide from './PresentationSlide'; import { connectToStores } from 'fluxible-addons-react'; import { Microservices } from '../../../configs/microservices'; import PresentationStore from '../../../stores/PresentationStore'; -import loadPresentation from '../../../actions/loadPresentation'; -import ChartRender from '../ContentPanel/util/ChartRender'; + // if(process.env.BROWSER){ // require('../../../assets/css/PresentationDefaults.css'); // } @@ -147,7 +146,6 @@ class Presentation extends React.Component{ //$('.present > .accessibilityWrapper > .pptx2html div:first-child').focus(); //console.log($('.present > .accessibilityWrapper > .pptx2html div:first').html()); // event.currentSlide, event.indexh, event.indexv - ChartRender.renderCharts(false); this.resize(); } ); @@ -155,7 +153,6 @@ class Presentation extends React.Component{ //console.log('slidechanged: ' + $('.present > .accessibilityWrapper > .pptx2html div:first').html()); //$('.present > .accessibilityWrapper > .pptx2html div:first-child').focus(); //console.log('resize non-pptx2html slide content - presentwidth: ' + presentwidth + ' and height: ' + presentheight); - ChartRender.renderCharts(true); this.resize(); } ); diff --git a/components/DefaultHTMLLayout.js b/components/DefaultHTMLLayout.js index 46a4afa4c..61f2f9deb 100644 --- a/components/DefaultHTMLLayout.js +++ b/components/DefaultHTMLLayout.js @@ -25,7 +25,6 @@ class DefaultHTMLLayout extends React.Component { - { user ? : diff --git a/package.json b/package.json index 584b319e0..db2ab4eab 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,6 @@ "css-loader": "^0.28.7", "css-modules-require-hook": "^4.0.6", "csurf": "^1.9.0", - "d3": "3", "debug": "^3.1.0", "diff": "3.4.0", "es5-shim": "^4.5.9", @@ -127,7 +126,6 @@ "moment": "^2.22.2", "napa": "^2.3.0", "npm": "^5.5.1", - "nvd3": "^1.8.6", "pre-commit": "^1.2.2", "prop-types": "^15.6.2", "react": "^15.4.2", diff --git a/server.js b/server.js index 208f3c944..4b5d953cf 100644 --- a/server.js +++ b/server.js @@ -59,8 +59,6 @@ server.use('/jquery', express.static(path.join(__dirname, '/node_modules/jquery' server.use('/sweetalert2', express.static(path.join(__dirname, '/node_modules/sweetalert2'))); server.use('/headjs', express.static(path.join(__dirname, '/node_modules/headjs'))); server.use('/glidejs', express.static(path.join(__dirname, '/node_modules/glidejs'))); -server.use('/d3', express.static(path.join(__dirname, '/node_modules/d3'))); -server.use('/nvd3', express.static(path.join(__dirname, '/node_modules/nvd3'))); server.use('/ckeditor', express.static(path.join(__dirname, 'node_modules/ckeditor'))); server.use('/ckeditor-plugins/youtube', express.static(path.join(__dirname, 'node_modules/ckeditor-youtube-plugin/youtube'))); diff --git a/webpack/dev.config.js b/webpack/dev.config.js index dc593abfe..ca86b3391 100644 --- a/webpack/dev.config.js +++ b/webpack/dev.config.js @@ -78,10 +78,7 @@ let webpackConfig = { BROWSER: JSON.stringify(true) } }), - new webpack.ProvidePlugin({ - d3: 'd3', - nvd3: 'nvd3' - }) + ], devtool: 'source-map' }; diff --git a/webpack/prod.config.js b/webpack/prod.config.js index db75e7e44..e78984836 100644 --- a/webpack/prod.config.js +++ b/webpack/prod.config.js @@ -104,10 +104,6 @@ let webpackConfig = { return JSON.stringify(data, null, 2); } }), - new webpack.ProvidePlugin({ - d3: 'd3', - nvd3: 'nvd3' - }), new Visualizer() ], devtool: 'source-map',