Как сделать так, чтобы тип линии реакции-старшей диаграммы оставался фиксированным? - PullRequest
0 голосов
/ 06 ноября 2018

Каждый раз, когда я вписываю что-то в текстовое поле, черная линия на рисунке ниже повторяет данные. Как сделать так, чтобы оно оставалось фиксированным? Ниже приведен код, который отображает таблицу графиков и код textarea. Я использую библиотеку CKEditor js для отображения инструментов из textarea. Я также использую реактивно-высокие графики для отображаемого графика.

Спасибо.

КОНФИГ ДЛЯ МОЕЙ ХАЙХАРТА

const config = {
  /* HighchartsConfig */

title: {
    text: ''
},

xAxis: {
    tickLength: 75,
    categories: [month1, month2, month3, month4],
    labels: {
      style: {
        color: 'black',
        fontSize:'13px'

      },
      formatter: function(){

      return '<span style="margin-right: 9px">' + this.chart.series[0].options.stack + '</span><span>' + this.chart.series[1].options.stack + 
      '</span><br /><div style="text-align:center"> <br />' + this.value + '</div> '
    },    
    useHTML: true
  } 
},

yAxis: [{ //--- Primary yAxis
  title: {
      text: 'Bugs, Questions And Enhancements'
  }
}, { //--- Secondary yAxis
  title: {
      text: 'Total Open'
  },
  opposite: true
}],

tooltip: {
    formatter: function () {
        return '<b>' + this.x + '</b><br/>' +
            this.series.name + ': ' + this.y + '<br/>' +
            'Total: ' + this.point.stackTotal;
    }
},
plotOptions: {
    column: {
        stacking: 'normal',
        allowPointSelect: false,

    },


},
legend: {
  events: {
    legendItemClick: function () {

       return false; 
       // <== returning false will cancel the default action
        }
    },
      itemStyle: {

          fontSize: '17px'
      }
},
credits: {
  enabled: false
},
series: 
[{
    yAxis: 0,
    type: 'column',
    name: 'bug',
    data: [5, 3, 4, 7],
    color: '#1E90FF',
    stack: 'Open'

},
 {
    yAxis: 0,
    type: 'column',
    name: 'bug',
    color: '#1E90FF',
    data: [1, 4, 4, 0],
    showInLegend: false,
    stack: 'Closed'
}, 
{
  yAxis: 0,
  type: 'column',
  name: 'question',
  color: '#DC143C',
  data: [5, 3, 4, 7],
  stack: 'Open'
}, 
{
  yAxis: 0,
  type: 'column',
  name: 'question',
  color: '#DC143C',
  data: [3, 4, 4, 0],
  showInLegend: false,
  stack: 'Closed'
},
{
  yAxis: 0,
  type: 'column',
  name: 'enhancement',
  color: '#32CD32',
  data: [5, 3, 4, 7],
  stack: 'Open'
},
{ 
  yAxis: 0,
  type: 'column',
  name: 'enhancement',
  color: '#32CD32',
  data: [3, 4, 4, 0],
  showInLegend: false,
  stack: 'Closed'
},{
    yAxis: 1,
    type: 'line',
    name: 'Total Open',
    color: '#2C2727',
    data: [3,7, 3, 25],
    lineWidth: 4.5,
    marker: {
      enabled: false
    }
  }


]};

КОД ДЛЯ ОТКРЫТЫХ ВОПРОСОВ С ДАННОЙ КАРТОЙ В НАЛИЧИИ

 <div className="openIssues"> 
               <div className="col-auto mb-3"> 
                <Card style={{width: '105.7%',height:'42.7rem'}} className="text-center">
                  <CardHeader color="orange"> <h3>Open Issues</h3></CardHeader>
                  <CardBody>
                  <div className="row">
                    <div class="col-sm-6">
                    <ReactHighcharts config = {config} ref="chart"></ReactHighcharts> 

                    </div>

                    <div class="col-sm-1">
                      <p > 
                          <ul className="center"> 
                                <li> Total Open: {this.state.totalOpen}  </li>
                                &nbsp;&nbsp;&nbsp; &nbsp;- {this.state.nbrOfQuestions} Questions <br/> 
                                &nbsp;&nbsp;&nbsp; &nbsp;- {this.state.nbrOfEnhancements} Enhancements <br/>
                                &nbsp;&nbsp;&nbsp; &nbsp;- {this.state.nbrOfBugs} Bugs <br/>
                                <li> Resolved in the last cycle: {this.state.nbrOfResolvedInLastCycle} </li>
                                <li> Opened in the last cycle:&nbsp;&nbsp;&nbsp;{this.state.nbrOfOpeneInLastCycle}</li>
                                <li> {this.state.nbrOfP1} Open P1 </li>
                                <li> {this.state.nbrOfP2} Open P2 </li>
                         </ul> 
                      </p> 


                    <br/>
                      <p> 

                        <table className="tableOpenIssues">
                            <caption><h3 align="center"> Open Tickets Creation Date Distribution </h3></caption>
                            <thead>         
                              <th>This cycle</th>
                              <th>1 to 3 months</th>
                              <th>3 to 6 months</th>
                              <th>6 to 12 months</th>
                              <th>More than 1 year</th>
                            </thead>

                          <tbody>

                           <tr>
                             <td>1</td>
                             <td>1</td>
                             <td>1</td>
                             <td>1</td>
                             <td>1</td> 
                          </tr>


                         </tbody>

                       </table>

                      </p>
                    </div>

                  </div>


                  </CardBody>

                </Card>
                </div>

ОБСЛУЖИВАЕТ ОБСЛУЖИВАНИЕ КОД ТЕКСТАРЕЯ

<div className="maintenanceRelease"> 
                <Card style={{width: '70rem',height:'22.5rem'}} className="text-center">
                  <CardHeader color="blue"> <h3>Maintenance Releases</h3></CardHeader>
                  <CardBody>
                    <CKEditor 
                        activeClass="maintenance"
                        content={this.state.maintenanceContent} 
                        events={{
                          "change": this.onChangeMaintenance
                        }}
                        config= {{removeButtons: 'Undo,Redo,Select,PasteText,PasteFromWord,HiddenField,CreateDiv,Cut,Copy,Paste,Source,Format,Maximize,Anchor,Superscript,Subscript,RemoveFormat,About,Strike,Blockquote,Table,ShowBlocks, Find, specialChars,HorizontalRule,select', height: 167,
                                  removePlugins: 'resize,elementspath,save,image,flash,iframe,link,smiley,tabletools,find,pagebreak,templates,about,maximize,showblocks,newpage,language,scayt,wsc,select,specialchar, magicline',
                                  autoParagraph: false
                                }}


                      />
                  </CardBody>

                </Card>
 </div>

enter image description here

1 Ответ

0 голосов
/ 08 ноября 2018

Вы используете упаковку «реакционные высокие диаграммы», которая вызывает перерисовку диаграммы после каждого setState. Вы можете установить опцию animation для серии line на false, но лучшим решением будет использование обертки 'highcharts-Reaction-official', которая обновляет график только в случае изменения параметров диаграммы.

{
  yAxis: 1,
  type: "line",
  name: "Total Open",
  color: "#2C2727",
  data: [3, 7, 3, 25],
  lineWidth: 4.5,
  animation: false,  // new property
  marker: {
    enabled: false
  }
}

Живая демоверсия: https://codesandbox.io/s/olq3lmp92y

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...