Хобрук: Ваш путь к мастерству в программировании

Выпадающее меню Bootstrap имеет ту же функциональность, что и кнопка навигации Highcharts.

Я хотел бы связать функциональность (печать, экспорт в Excel и т. д.) кнопки навигации highcharts с раскрывающимся меню начальной загрузки. Эта раскрывающаяся панель находится в заголовке панели отдельно от графика на панели. Я сделал этот пример. Намерение состоит в том, что если вы нажмете на значок раскрывающегося списка начальной загрузки и, например, на «Загрузить CSV», вы получите всплывающее окно для загрузки, которое теперь относится к кнопке навигации highcharts.

HTML

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script type="text/javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<!------ Include the above in your HEAD tag ---------->

<div class="container">
  <div class="row">
    <div class="col-lg-8 col-md-8 col-xs-8">
      <div class="panel panel-default">
        <div class="panel-heading">
          <h3>Panel title
            <div class="btn-group pull-right">
              <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
     <span class="glyphicon glyphicon-th-large"></span></button>
              <ul class="dropdown-menu">
                <li><a href="#">Print chart</a></li>
                <li role="separator" class="divider"></li>
                <li><a href="#">Download PNG image</a></li>
                <li><a href="#">Download JPEG image</a></li>
                <li><a href="#">Download PDF document</a></li>
                <li><a href="#">Download SVG vector image</a></li>
                <li role="separator" class="divider"></li>
                <li><a href="#">Download CSV</a></li>
                <li><a href="#">Download XLS</a></li>
                <li><a href="#">View data table</a></li>
                <li><a href="#">Open in Highcharts Cloud</a></li>
              </ul>
            </div>
          </h3>
        </div>
        <div class="panel-body">
          <div id="container"></div>
        </div>
      </div>
    </div>
  </div>
</div>

JavaScript

Highcharts.chart('container', {

title: {
  text: 'Solar Employment Growth by Sector, 2010-2016'
},

subtitle: {
  text: 'Source: thesolarfoundation.com'
},

yAxis: {
  title: {
    text: 'Number of Employees'
  }
},
legend: {
  layout: 'vertical',
  align: 'right',
  verticalAlign: 'middle'
},

plotOptions: {
  series: {
    label: {
      connectorAllowed: false
    },
    pointStart: 2010
  }
},

series: [{
  name: 'Installation',
  data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
}, {
  name: 'Manufacturing',
  data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
}, {
  name: 'Sales & Distribution',
  data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
}, {
  name: 'Project Development',
  data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]
}, {
  name: 'Other',
  data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
}],

responsive: {
  rules: [{
    condition: {
      maxWidth: 500
    },
    chartOptions: {
      legend: {
        layout: 'horizontal',
        align: 'center',
        verticalAlign: 'bottom'
      }
    }
  }]
}

});

Надеюсь, кто-то может помочь мне решить эту проблему. Заранее спасибо!!


  • Вы найдете некоторую документацию и примеры по этому поводу здесь 15.05.2018
  • Спасибо! SVG работает сейчас. Я также пробовал PDF, но мой компьютер не распознает автоматически, что это документ в формате PDF, но его можно открыть как PDF. К сожалению, я не могу найти никакой информации об экспорте файла csv/xls. Который спросил после того, как вы нажмете «Загрузить CSV», хотите ли вы открыть его с помощью Excel. Вы знаете, можно ли это сделать таким же образом? Это новый пример: jsfiddle.net/Pension007/0yy5qfc7/2 15.05.2018
  • Для экспорта csv/xls вам нужен дополнительный модуль export-data. См. мой ответ здесь stackoverflow.com/questions/49919506/export-csv- from-highcharts — тогда вы сможете использовать методы chart.dowanloadCSV/XLS. 16.05.2018
  • Еще раз спасибо morganfree!! В этом примере все работает как положено: jsfiddle.net/Pension007/0yy5qfc7/9 К сожалению, в этом примере это не так: jsfiddle.net/Pension007/0yy5qfc7/12 Вы знаю, почему это так и как я могу решить эту проблему? Еще раз спасибо за усилия!! 16.05.2018
  • Если кто-то еще может помочь мне, пожалуйста, дайте мне знать. Я все еще сталкиваюсь с проблемой, что это не работает в сочетании с containerId и определением. Я не знаю, как это исправить: jsfiddle.net/Pension007/0yy5qfc7/12 17.05.2018

Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..